当前位置: 首页 > 知识库问答 >
问题:

在Java中保持单链表的头部

杨赞
2023-03-14

单链表的定义

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

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

共有1个答案

颜河
2023-03-14

简单的回答:创建一个对head的引用,并遍历它。这样你就不会失去对头部的引用。

示例

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

现在请注意head变量从未更改。它准备好像以前一样使用。

 类似资料:
  • 我刚到Java,并试图在Java实施一个单链表。我已经包括了泛型的使用。代码如下所示: } code>get()方法给出错误消息 不兼容的类型,require:e,found:java.lang.object“at”返回当前。e 我认为我在错误地使用泛型。有人能让我知道这个方法的正确编码方式吗? 多谢了。

  • 问题内容: 我们将进行并行测试,以将旧系统与新的闪亮版本进行比较。我们有一个Oracle数据库表A,用于存储遗留系统的数据,以及一个等效表B,用于存储新系统的数据,因此在测试期间,该数据库将被非规范化。(此外,旧版系统和表A是固定的- 不允许更改) 我想做的是允许A上不常见的DML操作传播到B,反之亦然。我从一对触发器开始,但是遇到了一个明显的问题,即当触发器运行时,表正在变异,并引发异常。 是否

  • 我目前正在为Java中的循环链表工作。我们应该能够在列表的前面插入和后面插入。但是,我已经让这些方法在循环链表类中正常工作。 我得到的结果是 对于第二次插入,这里的next指向null应该指向列表的头部。 节点类 循环链表类 主班

  • 我被要求建立一个网站,一个共同开发人员告诉我,我需要包括keep-alive头。 嗯,我读了很多关于它的书,但我仍然有问题。 msdn-> null

  • 当前:Bag$Node@1786F9D5下一个:Bag$Node@704D6E83 看起来很清楚,至少在我看来,下一个节点每次都会设置一个新节点。我将所有四个元素都添加到包中,但条目丢失,并为每个索引返回null。toArray()函数显示 我敢肯定这是一件简单得让人眼花缭乱的事情。下面是整个实现。

  • 本文向大家介绍在C ++中将单链表转换为XOR链表,包括了在C ++中将单链表转换为XOR链表的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论将单链表转换为XOR链表的程序。 为此,我们将提供一个单链表。我们的任务是获取该列表的元素,并将其转换为XOR链接列表。 示例 输出结果