首页 > 解决方案 > 链表Java添加元素

问题描述

我正在学习 Java 中的链表,但第一个元素被注册两次时遇到问题。如何解决这个问题。这是我的代码:

if (head==null) {
        head=new Node(data);

        }
        Node current=head; 

        while(current.getNext()!=null) {
            current=current.getNext();

        }
        current.setNext(new Node(data));// how to change this line 

}

https://pastebin.com/2PCvJmKT

标签: javalinked-list

解决方案


在 pastebin 中,此代码片段是您的“插入”功能的一部分。因此,在代码片段中,您正在查看“如果我的 LinkedList 为空怎么办?-> 列表中没有元素-> 没有头”的情况

如果是这种情况,您只需将新数据作为新节点(数据)添加到空列表中。

但是您现在正在做的是:您正在为一个空列表创建一个新节点,将该节点设置为 Head 并迭代一个只有一个元素的列表。这实际上意味着,你永远不会进入你的 while 循环。之后,您将添加一个与 Head 具有相同数据的节点作为其继任者。


推荐阅读