
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Delete Alternate Nodes of a Linked List in JavaScript
We will be writing a JavaScript program to delete alternate nodes of a linked list. We will be utilizing a while loop to traverse the linked list while keeping a track of the current and previous node. In each iteration of the loop, we will be skipping the current node and linking the previous node directly to the next node, effectively deleting the current node from the list. This process will be repeated until all the alternate nodes have been deleted from the linked list.
Approach
Traverse the linked list from head to end.
For every node, store its next node.
Delete the next node of the current node.
Update the next reference of the current node to be the next of the next node.
Move to the next node, which is now the next of the next node.
Repeat this process until the end of the linked list is reached.
Finally, return the head of the linked list after all alternate nodes have been deleted.
Example
Here is a complete example of deleting alternate nodes of a linked list in JavaScript ?
// Linked List Node class Node { constructor(data) { this.data = data; this.next = null; } } // Linked List class class LinkedList { constructor() { this.head = null; } // Method to delete alternate nodes deleteAlternate() { let current = this.head; while (current !== null && current.next !== null) { current.next = current.next.next; current = current.next; } } // Method to print the linked list printList() { let current = this.head; while (current !== null) { console.log(current.data); current = current.next; } } } // create a linked list let list = new LinkedList(); list.head = new Node(1); list.head.next = new Node(2); list.head.next.next = new Node(3); list.head.next.next.next = new Node(4); list.head.next.next.next.next = new Node(5); console.log("Linked List before deleting alternate nodes: "); list.printList(); list.deleteAlternate(); console.log("Linked List after deleting alternate nodes: "); list.printList();
Explanation
We first create a Node class that represents each node in the linked list, which contains a data field and a next field that points to the next node in the list.
Then, we create a LinkedList class that contains the head node of the linked list and a printList method to print the linked list.
The deleteAlternate method of the LinkedList class is used to delete alternate nodes in the linked list. The method iterates through the linked list and updates the next pointer of each node to point to the next-next node in the linked list, effectively deleting the alternate nodes.
Finally, we create a linked list and print it before and after deleting alternate nodes.