Delete Node in a Linked List — Copy Next Value
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