【发布时间】:2017-11-15 12:45:05
【问题描述】:
我正在尝试递归循环一个单链表,但我必须使用一个不带参数的函数,我有点困惑如何做到这一点。我的想法是,我会继续将修改后的列表传递给函数,但这不是问题所要求的。这是问题:
假设您有一个不带标题的单链整数列表,具有以下类定义:
class IntList {
int value;
IntList next;
}
编写一个递归的、拥有的方法l.sumOfList():
- 将列表中每个节点的值破坏性地替换为从该点开始的列表值的总和。
- 应该返回原始列表中值的总和。例如,如果 l 最初是列表
[3,2,1],而您调用l.sumOfList(),那么l将成为列表[6=(3+2+1), 3(=2+1), 1]。
我只是不确定如何编写一个没有 参数?或者如何使用没有标题的链表。
【问题讨论】:
-
哇...这是一个措辞不佳且毫无意义的任务。节哀顺变。这是我的解释。假设一个列表是神奇地创建的,它只是一组挂在空间中的节点,没有标题(在真正的 Java 中,这会被垃圾收集)。您引用了一个任意节点,即作业中提到的
l。您必须编写一个方法,它将成为IntList的成员,用所有后续节点的总和覆盖l和所有后续节点中的值。递归的结束条件为next==null。 -
@JimGarrison 谢谢,这有助于澄清一些事情!
-
也就是说,根据help center 和How to Ask 中的站点指南,该问题是题外话。尝试编写代码(
IntList中的sumOfList方法)并使用它。当你有一些代码和一个特定的问题时,回来并edit你的帖子显示你做了什么。
标签: java recursion linked-list