思路分析
因为不知道上一个节点,所以用下一个节点的值代替待删除节点,修改指针。实际删除了下一个节点,但达到了删除当前节点的效果。
代码实现
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}