0

以下是我的尝试: -

public void removeTail(){
    Node precurrent=null;
    Node transverse=head;
    if(size != 0) {
        while(transverse.getNext() !=null) {
            System.out.println("oh"+transverse.getElement());
            precurrent=transverse;
            transverse=transverse.getNext();
        }
        precurrent.setNext(null);
        size--;
    }
    else{
        System.out.println("List is all ready empty");
    }
}

上面代码的问题是当只剩下一个节点并且我尝试删除它时它会出错。这是因为我定义 precurrent 的方式。请建议应该采取什么措施来处理这种情况。我不想添加 size==1 的情况。

4

1 回答 1

0

有两种可能的方式。

要么检查你的大小是否等于 1。

或者这将是我的解决方案,precurrent就像head你做的那样初始化transverse

于 2013-02-03T10:23:44.840 回答