如何使用不带参数的函数来递归单链表

时间:2017-11-15 03:59:30

标签: java recursion linked-list

我试图以递归方式循环遍历单个链表但我必须使用不带参数的函数,我有点困惑如何做到这一点。我的思维过程是我只是继续将修改后的列表传递给函数,但这不是问题所要求的。这是个问题:

假设您有一个单独链接的没有标题的整数列表,具有以下类定义:

class IntList {
    int value;
    IntList next;
}

编写一个递归的,拥有的方法l.sumOfList(),其中包含:

  1. 使用从该点开始的列表值的总和破坏性地替换列表中每个节点的值。
  2. 应返回原始列表中值的总和。例如,如果l最初是列表[3,2,1],并且您拨打l.sumOfList(),则l将成为列表[6=(3+2+1), 3(=2+1), 1]
  3.   

    我只是不确定如何编写一个没有的递归函数   参数?或者如何使用没有标题的链接列表。

1 个答案:

答案 0 :(得分:-1)

您可以保留一个类变量并在递归函数中使用它。喜欢的东西;

class TraverseInt {
IntList node = start; // start of the linked list

public void traverse() {
    if(node == null)
        return;
    System.out.println(node.value);
    node = node.next;
    traverse();
}
}