gpt4 book ai didi

java - Append Method Linked List...它不断删除最后一个输入

转载 作者:行者123 更新时间:2023-12-01 18:24:18 26 4
gpt4 key购买 nike

public void append(int data) {
Node newNode = new Node(data);

if (head == null) {
head = new Node(data);
return;
} else {
Node last = head;
while(last.nextNode != null) {
last = last.nextNode;
}
last.nextNode = newNode;
}
return;
}


public void printList(){
Node temp = head;
while (temp != null && temp.nextNode != null){
System.out.print(temp.data + " " );
temp = temp.nextNode;
}
temp = temp.nextNode;
}

输入:4,5,6,9,9输出:4,5,6,9

这是我得到的输出,它不断删除最后一个输入......所做的更改

最佳答案

您忘记打印最后一个节点。您不仅检查 temp 是否不为空,还检查它后面是否有下一个节点 - 因此您在实际打印最后一个节点之前退出 while 循环。

要么更改条件,要么在 while 循环之后打印最后一个节点(我建议第一个选项)。

第一个选项:

public void printList() {
Node temp = head;
while (temp != null) {
System.out.print(temp.data + " ");
temp = temp.nextNode;
}
}

第二个选项:

public void printList(){
Node temp = head;
while (temp != null && temp.nextNode != null){
System.out.print(temp.data + " " );
temp = temp.nextNode;
}
// print last node here
System.out.print(temp.data);
temp = temp.nextNode;
}

关于java - Append Method Linked List...它不断删除最后一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60253048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com