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?
}
谢谢!