删除链表节点

删除链表节点

问题

这个题目说的是,你要写一个函数来删除单链表中的一个节点,并且只给你指向那个节点的指针。其中,这个单链表至少有两个节点,并且不会要求你删除尾节点。

比如说,给你的单链表是:

0 -> 1 -> 2 -> 4 -> 8

同时给你一个指针 p,指向节点 2:

0 -> 1 -> 2 -> 4 -> 8
          p

删除节点 2 后,这条链表变成:

0 -> 1 -> 4 -> 8

代码

public class AlgoCasts {

  public class ListNode {
    int val;
    ListNode next;

    ListNode(int x) {
      val = x;
    }
  }

  
  public void deleteNode(ListNode node) {
    node.val = node.next.val;
    node.next = node.next.next;
  }

}