問題の説明:
int型のノード値を含む単一リンクリストがあります。リンクリストのノードが指定されているが、リンクリスト全体のヘッドノードが指定されていない場合は、リンクリストのノードを削除します。
アルゴリズムの実装:
クラスNode {
public int value;
次のパブリックノード。
public Node(int value){
this.value = value;
}
}
public void removeWiredNode(Node node){
if(node == null){
return;
}
ノード次= node.next。
if(next == null){
throw new RuntimeException( "ca n't remove last node");
}
node.value = next.value;
node.next = next.next;
}
アルゴリズム分析:
1.厳密に言うと、前駆ノードが見つからないため削除できません。
2.問題を厳密に制限する方法ではなく、削除の実現可能性を検討し、解決策に含まれる特殊なケースを提供します。
3.終了ノードを削除できないというプロンプトを出し、非終了ノードのノード値を置き換えます。