如何在链接列表的最后添加值。当我运行代码时,addAtLast()方法不会返回更新的列表。最后一个值,即50不会添加到返回的列表中。
public Node addAtLast(Node head, int data) {
Node temp = head;
Node newNode = new Node(data);
while (null != temp)
temp = temp.next;
temp = newNode;
System.out.println(temp);
return head;
}
...
答案 0 :(得分:1)
<port>
对原始链接列表没有影响。
要在列表末尾添加temp = newNode;
,您必须找到最后一个Node
,这是Node
的第一个Node
。然后,您修改temp.next == null
的{{1}}以引用新的temp.next
。
Node
答案 1 :(得分:1)
这里:
temp = newNode;
您将新元素分配给永远不会与您的链接列表关联的temp
变量,因为分配对变量的引用会使其指向新事物。
此外,您需要的是停止迭代,因为当前元素没有下一个元素,而当前元素不是null
。否则,您无法引用最后一个元素,只有null
。
你应该写一些类似的东西:
while (temp.next != null)
temp = temp.next;
// here temp refers the last element of the chain as it doesn't have next element
temp.next = newNode;