1
所以我們可以說我們有這個鏈表:a-> s-> d - > f,我們想刪除d。鏈接列表從某個位置混淆中刪除一個節點
我無法理解下面的代碼爲什麼會正確地從鏈接列表中刪除一個項目,以及爲什麼下面的代碼不會產生相同的結果?
正確的代碼:
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
錯誤代碼:
public void deleteNode(ListNode node) {
node = node.next;//d now points to f
//So wouldn't node s.next now equal f
//because we have changed what node d references to?
}
謝謝!