237. Delete Node in A Linked List #
题目 #
有一个单链表的head
,想要删除它的一个节点node
。
给定需要删除的节点node
,并且无法访问第一个节点head
。
链表所有值都是唯一的,且给定的节点node
不是链表中的最后一个节点。
删除节点的意思是指:
- 给定节点的值不应该存在于链表中。
- 链表中的节点数应该减少1。
node
前面所有值的顺序相同。node
后面所有值的顺序相同。
思路 #
代码 #
public class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
class Solution {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}