237. Delete Node in a Linked List
Intuition
Complexity
Space Complexity
Time Complexity
Code
public void deleteNode(ListNode nodeToDelete) {
// 'currentNode' is the node we want to delete
// 'nextNode' is the node right after 'currentNode'
ListNode currentNode = nodeToDelete;
ListNode nextNode = nodeToDelete.next;
// Shift all the values left by copying next node's value to current
while (nextNode.next != null) {
currentNode.val = nextNode.val;
currentNode = nextNode;
nextNode = nextNode.next;
}
// Copy the value of the last node
currentNode.val = nextNode.val;
// Remove the last node
currentNode.next = null;
}
Last updated