有人警告我,在使用Nodes迭代LinkedList实现时要小心,因为您可能正在更改原始列表。例如,如果我传入一个Node head,并连续调用head.next,它会改变最初的LinkedList吗?如果我设置Node currNode=head,然后连续调用currNode.next,我能保证原始节点没有更改吗?如果不能保证,调用currNode.next什么时候不起作用?
据我所知,目前你没有问题,但你只是古玩。
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的变量。如果你想迭代,你只需要将head分配给一个名为curr的新变量并使用它进行迭代。这样head仍然引用根值。