如何以非破坏性的方式遍历数据结构,例如具有节点的LinkedList



有人警告我,在使用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仍然引用根值。

相关内容

  • 没有找到相关文章

最新更新