所以我们假设我们有这个链表: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?
}
谢谢!