面试题 02.03. 删除中间节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public void deleteNode(ListNode node) {
ListNode pre = null, curr = node;
while (curr != null && curr.next != null) {
pre = curr;
curr.val = curr.next.val;
curr = curr.next;
}

if (pre != null) {
pre.next = null;
}
}
}

注意读题,该题给出的 node 为需要删除的节点,而不是链表头节点。

References

面试题 02.03. 删除中间节点