Search⌘ K
AI Features

Deletion in a Singly Linked List

Explore how to delete nodes from a singly linked list, including deletion from the beginning, by value, and by position. Learn the importance of correctly updating node references to maintain list integrity, and understand associated time and space complexities. This lesson guides you through practical JavaScript implementations and common pitfalls.

By now, insertion and traversal in a singly linked list are clear. The next core operation is deletion, which removes a node from the list while keeping the remaining nodes properly connected.

Deletion in a linked list is performed by updating references between nodes. As a singly linked list only moves forward, careful handling of pointers is required to ensure that no part of the list becomes disconnected. Understanding how these references change is crucial for implementing deletion correctly and analyzing its time complexity.

Linked list deletion

Deletion means removing a node from a singly linked list while keeping the remaining nodes properly connected. As each node only points forward, deletion is done by updating the next reference of the node just before the one being removed. If the removed node is the first node, the head reference must be updated.

Deletion is usually handled in three cases:

  1. Deletion from the beginning

  2. Deletion by value

  3. Deletion by position

Deletion from the beginning

Deleting from the beginning removes the current head node. This operation is simple because the head is updated to point to the second node.

The following interactive visualizer helps to better understand the deletion from the beginning of a linked list.

JavaScript implementation

The method below deletes the first node by moving the head reference to the next node.

Javascript (babel-node)
deleteFromBeginning() {
// If the list is empty, there is nothing to delete
if (this.head === null) {
return;
}
// Move head to the next node
this.head = this.head.next;
}
Delete from the beginning of Linked List
  • Time complexity: Deletion from the beginning takes O( ...