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");
    }
}

上記のコードの問題は、ノードが 1 つしか残っていないときにそれを削除しようとするとエラーが発生することです。これは、私が前流を定義した方法によるものです。このケースを処理するために何をすべきかを親切に提案してください。size==1 のケースを追加したくありません。

4

1 に答える 1

0

考えられる方法は 2 つあります。

サイズが1に等しいかどうかを確認してください。

または、これが私の解決策であり、あなたがやったのprecurrentと同じように初期化しますheadtransverse

于 2013-02-03T10:23:44.840 に答える