Delete Node in a Linked List — Copy Next Value

Sanjeev SharmaSanjeev Sharma
1 min read

Advertisement

Problem 212 · Delete Node in a Linked List

Difficulty: Easy · Pattern: Copy-and-Skip Trick

You only have access to the node to delete (not the head). You cannot delete the last node.

Intuition

Copy node.next.val into node.val, then skip node.next.

Solutions

# Python
def deleteNode(node):
    node.val = node.next.val
    node.next = node.next.next
// Java
public void deleteNode(ListNode node) {
    node.val = node.next.val;
    node.next = node.next.next;
}
// C++
void deleteNode(ListNode* node) {
    node->val = node->next->val;
    node->next = node->next->next;
}

Complexity

  • Time: O(1)
  • Space: O(1)

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro