gpt4 book ai didi

java - 从 LinkedList 中删除元素

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

我正在尝试从 linkedList 中删除最后一个节点并将其返回。这是 Linkedlist 类的一部分。我编写的以下方法不会删除最后一个节点。有人知道为什么吗?

public int delete(){

if(front==null){

throw new NoSuchElementException();

}else{

ListNode current = front;

while(current.next!=null){
current = current.next;
}

int delete = current.data;
current = null;
return delete;
}
}

最佳答案

current设置为null只会将引用更改为null。它绝不会影响链表数据结构。您需要找到倒数第二个节点并将其下一个指针设置为空:

int data = secondToLastNode.next.data;
secondToLastNode.next = null;
return data;

当然,您需要处理列表中只有一个节点而上述代码没有考虑到的情况。

关于java - 从 LinkedList 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15236071/

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