【发布时间】:2014-07-03 18:05:48
【问题描述】:
我试图在最后从单个链接列表中删除。我没有一个尾部变量来保持对列表中最后一项的引用。因此这是我的实现。我的问题是 之后while循环如果我设置current=null;它不起作用(它不会删除最后一个节点)。我必须设置current.next=null;。
但是我必须为current.next=null; 添加 next 什么。即使我说 current=null;这是否意味着将当前节点指向 null。有人可以解释为什么我必须在那里使用 next 吗?
public void removeFromTail() throws EmptyStackException{
if(head==null){
throw new EmptyStackException("can't delete .Empty list");}
else if(head.next==null){
head=null;
}
else{
ListNode current=head;
while(current.next.next!=null){
current=current.next;
}
current.next=null;}
}
【问题讨论】:
标签: java data-structures linked-list