删除链表节点

删除链表节点

问题

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

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

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;
    }
  }

  // Time: O(1), Space: O(1)
  public void deleteNode(ListNode node) {
    node.val = node.next.val;
    node.next = node.next.next;
  }

}

  转载请注明: ForwardXu 删除链表节点

 上一篇
Java面试2019常考题目汇总1 Java面试2019常考题目汇总1
Java面试2019常考题目汇总(1)一、JAVA基础篇-概念1.简述你所知道的Linux:Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网、云计算、智能手机(And
2019-02-21
下一篇 
反转单链表2 反转单链表2
反转单链表2问题 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 1 <= m <= n <= 链表长度。 输入: 1->2->3->4->5->NULL, m = 2, n = 4
2019-02-20
  目录