我很難理解下面的這個方法如何刪除鏈接列表中的重複項。調用此方法後,所有重複項都被成功刪除。爲什麼頭不是零?由於方法中的當前變量迭代到最後,頭節點不會爲空。此方法如何成功更新列表以擺脫重複項目?鏈接列表刪除列表中的重複,參考混淆
static void removeDuplicate(node head)
{
// Hash to store seen values
HashSet<Integer> hs = new HashSet<>();
node current = head;
node prev = null;
while (current != null)
{
int curval = current.val;
// If current value is seen before
if (hs.contains(curval)) {
prev.next = current.next;
} else {
hs.add(curval);
prev = current;
}
current = current.next;
}
}
如果用戶回答您的問題,請接受他的回答([接受答案:它是如何工作的?](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-工作))。如果不是,請說明還沒有答案,這是StackOverflow非常重要的一部分,非常感謝。 – Zabuza