0237. Delete Node in a Linked List
Last updated
Last updated
**Input:** head = [4,5,1,9], node = 5
**Output:** [4,1,9]
**Explanation:** You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.**Input:** head = [4,5,1,9], node = 1
**Output:** [4,5,9]
**Explanation:** You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.**Input:** head = [1,2,3,4], node = 3
**Output:** [1,2,4]**Input:** head = [0,1], node = 0
**Output:** [1]**Input:** head = [-3,5,-99], node = -3
**Output:** [5,-99]/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
// edge cases
if (node == null || node.next == null) return;
ListNode nxt = node.next;
while (nxt != null) {
node.val = nxt.val;
nxt = nxt.next;
if (nxt != null) node = node.next;
}
node.next = null;
}
}/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
// edge cases
if (node == null || node.next == null) return;
node.val = node.next.val;
node.next = node.next.next;
}
}