Java 由链表表示的N个数字之和

Java 由链表表示的N个数字之和,java,algorithm,optimization,linked-list,sum,Java,Algorithm,Optimization,Linked List,Sum,我们可以使用- 1.堆栈 2.递归 现在我想把这个方法推广到'N'链表。处理这个问题的最佳方法是什么 使用N个堆栈将是一个很好的解决方案 您还可以一次添加2个列表,并执行N-1次以添加所有列表 将递归方法推广到N个列表。 这些都是方法,但仍然无法告诉您哪些方法是最好的 在表示法中,第一个数字位于堆栈的顶部或底部?定义最佳。内存占用?执行时间?易于编码或维护?这三者的加权组合?完全不同的东西-什么?那么N个并行堆栈就不存在了。一次添加两个-参见@aniketsiva的答案。你还期望什么?@laun

我们可以使用- 1.堆栈 2.递归 现在我想把这个方法推广到'N'链表。处理这个问题的最佳方法是什么

  • 使用N个堆栈将是一个很好的解决方案
  • 您还可以一次添加2个列表,并执行N-1次以添加所有列表
  • 将递归方法推广到N个列表。 这些都是方法,但仍然无法告诉您哪些方法是最好的

  • 在表示法中,第一个数字位于堆栈的顶部或底部?定义最佳。内存占用?执行时间?易于编码或维护?这三者的加权组合?完全不同的东西-什么?那么N个并行堆栈就不存在了。一次添加两个-参见@aniketsiva的答案。你还期望什么?@laune所以N个列表的泛化将简化为N-1次添加2个列表,除了这个显而易见的方法,我们还能想到什么呢。类似于为N个列表更新递归方法。但这种方法会增加很多检查。正如aniket所指出的,递归方法与“堆栈”方法没有区别,那么我们应该如何比较这些方法呢?递归意味着堆栈位于堆栈段,否则它就是一个对象。并行运行多个递归只需要同样多的堆栈。除了对象的一些开销(每个递归级别有N个堆栈或一个数组[N]),没有太大区别。@laune因为递归方法类似于使用堆栈方法,因为在这两种情况下都保持堆栈,所以很难对两者进行比较。