我已经被警告过在使用Nodes迭代LinkedList工具时要小心,因为您可能正在更改原始列表。例如,如果我传入一个Node头,并连续调用head.next,它会改变原始LinkedList的内容吗?如果我设置Node currNode = head,然后连续调用currNode.next,我保证原来没有改变吗?如果不能保证,何时调用currNode.next不起作用?
答案 0 :(得分:0)
据我所知,目前你没有问题,但你只是好奇。
public class Node{
int data;
Node next;
}
public void print(){
Node curr = this.head;
while(curr != null){
System.out.println(curr.data);
curr = curr.next;
}
}
如果您有上面的类模型,并且您有一个名为head的变量。 如果你想迭代你只需要将头部分配给一个名为curr的新变量并使用它进行迭代。这样头仍然可以引用根值。