【发布时间】:2020-01-14 12:36:25
【问题描述】:
我使用链表而不使用集合类进行数据结构练习。 在将元素值传递给函数后,我想从链表中删除一个元素
这是我写的函数。
public boolean remove(String s)
{
if(head.getName().equalsIgnoreCase(s))
{
head = head.getNext();
return true;
}
else
{
Node p =head;
Node current=p.getNext();
while(true) {
if(current == null || current.getName().equals(s)) {
break;
}
p = current;
current = current.getNext();
}
if (current == null)
{
p.setNext(current.getNext());
return true;
}
}
return false;
}
我正在使用节点 p 来存储前一个节点和当前节点。
代码位于 return false 部分,列表中没有变化。另外,我在 p.setNext(current.getNext( )) 在这里。
请让我知道我在哪里犯了错误。
【问题讨论】:
-
if (current == null) 应该是 if (current!= null)
-
谢谢大家.....真是个愚蠢的错误。
-
您是否成功实施了这份清单?需要更多帮助?
-
是的,这只是我的一个愚蠢的错误。列表工作正常。
标签: java data-structures linked-list