対LinkedListNodeを使用するとき、私はコーディングのインタビューを割れからこの問題を理解し、トラブルを抱えている:LinkedListの
:ソートされていないリンクリストソリューションから重複を削除する
コードを記述
public static void deleteDups(LinkedListNode n){ Hashtable table = new Hashtable(); LinkedListNode previous = null; while(n != null){ if(table.containsKey(n.data)) { previous.next = n.next; } else{ table.put(n.data, true); previous = n; } n = n.next; } }
LinkedListではなくLinkedListNodeを渡す理由はわかりません。リンクされたリストからdupを削除したいのであれば、なぜリスト全体を反復するのでしょうか?
「n」がリストの先頭であると仮定すると、違いはありません。 – shmosel
[JavaのLinkedListNodeとは何か]の可能な複製(http://stackoverflow.com/questions/5374077/what-is-linkedlistnode-in-java) –
リスト全体の代わりにノードを渡すと、ユーザーは開始点を定義できますリスト全体を処理するのではなく、ポイント(開始するノード)を指定します。それがどこかに必要かどうかはわかりません。そうでない場合、大きな違いはありません。 –