假设有一个单链接列表: 1->2->3->4->null
单链列表的定义:
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}如果我想从头到尾逐个打印节点值,我需要迭代地使用head = head.next,直到head == null为止。在这种情况下,打印后永远不能返回到head(value=1)节点。我的问题是,在浏览单链列表时,如何保持头脑清醒?
发布于 2014-03-06 22:12:37
简单的回答:创建一个对头部的引用,并遍历它。这样你就不会失去对头部的引用。
示例:
ListNode iter = head;
while(iter.next != null){
//DO Stuff
iter = iter.next;
}注意,head变量从未更改过。它可以像以前一样使用了。
https://stackoverflow.com/questions/22237162
复制相似问题