思路分析

因为不知道上一个节点,所以用下一个节点的值代替待删除节点,修改指针。实际删除了下一个节点,但达到了删除当前节点的效果。

代码实现

  1. /**
  2. * Definition for singly-linked list.
  3. * public class ListNode {
  4. * int val;
  5. * ListNode next;
  6. * ListNode(int x) { val = x; }
  7. * }
  8. */
  9. class Solution {
  10. public void deleteNode(ListNode node) {
  11. node.val = node.next.val;
  12. node.next = node.next.next;
  13. }
  14. }