【问题标题】:Keep the head of a singly linked list in Java在Java中保持单链表的头部
【发布时间】:2014-04-09 20:05:34
【问题描述】:

假设有一个单链表: 1->2->3->4->空

单链表的定义:

public class ListNode {
    int val;
    ListNode next;
    ListNode(int x) {
        val = x;
        next = null;
    }
}

如果我想从头到尾一个一个地打印节点值,我需要反复使用head = head.next,直到head == null。在这种情况下,我们永远无法在打印后返回 head(value=1) 节点。 我的问题是如何在遍历单链表时保持头部?

【问题讨论】:

  • ListNode head = theHead; -- 在遍历列表之前将其粘贴到变量中。
  • 我把这个问题想的很复杂。谢谢,杰森~!

标签: java singly-linked-list


【解决方案1】:

简单答案:创建对头部的引用,然后遍历它。这样你就永远不会失去对头部的引用。

例子:

ListNode iter = head;
while(iter.next != null){
    //DO Stuff
    iter = iter.next;
}

现在请注意,head 变量永远不会改变。它可以像以前一样使用了。

【讨论】:

  • 已修复。该死的术语:p
  • 我把这个问题想的很复杂。谢谢~!
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 2019-10-30
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
相关资源
最近更新 更多