Javascript Program To Delete Alternate Nodes Of A Linked List Last Updated : 05 Sep, 2024 Comments Improve Suggest changes Like Article Like Report Given a Singly Linked List, starting from the second node delete all alternate nodes of it. For example, if the given linked list is 1->2->3->4->5 then your function should convert it to 1->3->5, and if the given linked list is 1->2->3->4 then convert it to 1->3.Method 1 (Iterative):Keep track of the previous node that needs to be deleted. First, change the next link of the previous node and iteratively move to the next node. JavaScript // Javascript program to delete alternate // nodes of a linked list // Head of list let head; // Linked list Node class Node { constructor(val) { this.data = val; this.next = null; } } function deleteAlt() { if (head == null) return; let prev = head; let now = head.next; while (prev != null && now != null) { // Change next link of previous // node prev.next = now.next; // Free node now = null; // Update prev and now prev = prev.next; if (prev != null) now = prev.next; } } // Utility functions // Inserts a new Node at front of // the list. function push(new_data) { /* 1 & 2: Allocate the Node & Put in the data */ let new_node = new Node(new_data); // 3. Make next of new Node as head new_node.next = head; // 4. Move the head to point to // new Node head = new_node; } // Function to print linked list function printList() { let temp = head; while (temp != null) { console.log(temp.data + " "); temp = temp.next; } } // Driver code /* Constructed Linked List is 1->2->3->4->5->null */ push(5); push(4); push(3); push(2); push(1); console.log("Linked List before calling deleteAlt()"); printList(); deleteAlt(); console.log("Linked List after calling deleteAlt() "); printList(); // This code is contributed by gauravrajput1 OutputLinked List before calling deleteAlt() 1 2 3 4 5 Linked List after calling deleteAlt() 1 3 5 Complexity Analysis:Time Complexity: O(n) where n is the number of nodes in the given Linked List.Auxiliary Space: O(1) because it is using constant spaceMethod 2 (Recursive): Recursive code uses the same approach as method 1. The recursive code is simple and short but causes O(n) recursive function calls for a linked list of size n. JavaScript // Node class to create a new node in the linked list class Node { constructor(data) { this.data = data; this.next = null; } } // Linked List class class LinkedList { constructor() { this.head = null; } // Method to add a new node at the end of the list append(data) { let newNode = new Node(data); if (this.head === null) { this.head = newNode; } else { let current = this.head; while (current.next !== null) { current = current.next; } current.next = newNode; } } // Method to print the linked list printList() { let current = this.head; let result = ''; while (current !== null) { result += current.data + ' '; current = current.next; } console.log(result.trim()); } // Method to delete alternate nodes deleteAlt() { deleteAlt(this.head); } } // Function to delete alternate nodes of a linked list starting from the head function deleteAlt(head) { if (head == null) return; let node = head.next; if (node == null) return; // Change the next link of head head.next = node.next; // Recursively call for the new next of head deleteAlt(head.next); } // Create a linked list let list = new LinkedList(); // Add nodes to the list list.append(1); list.append(2); list.append(3); list.append(4); list.append(5); list.append(6); // Print the original list console.log("Original list:"); list.printList(); // Delete alternate nodes list.deleteAlt(); // Print the modified list console.log("List after deleting alternate nodes:"); list.printList(); OutputOriginal list: 1 2 3 4 5 6 List after deleting alternate nodes: 1 3 5 Complexity Analysis:Time Complexity: O(n)Auxiliary Space: O(n) for call stackPlease refer complete article on Delete alternate nodes of a Linked List for more details! Comment More infoAdvertise with us Next Article Javascript Program To Delete Alternate Nodes Of A Linked List kartik Follow Improve Article Tags : Linked List JavaScript Web Technologies DSA Linked Lists Morgan Stanley +2 More Practice Tags : Morgan StanleyLinked List Similar Reads JavaScript Linked List Programs JavaScript Linked List Programs contain a list of articles based on programming. Linked List is a linear data structure that stores data in linearly connected nodes. Linked lists store elements sequentially, but doesnât store the elements contiguously like an array. S. NoArticles1JavaScript Program 5 min read Implementation of LinkedList in Javascript In this article, we will be implementing the LinkedList data structure in Javascript.A linked list is a linear data structure where elements are stored in nodes, each containing a value and a reference (or pointer) to the next node. It allows for efficient insertion and deletion operations.Each node 5 min read Javascript Program For Searching An Element In A Linked List Write a function that searches a given key 'x' in a given singly linked list. The function should return true if x is present in linked list and false otherwise.bool search(Node *head, int x) For example, if the key to be searched is 15 and linked list is 14->21->11->30->10, then functio 3 min read Javascript Program For Inserting A Node In A Linked List We have introduced Linked Lists in the previous post. We also created a simple linked list with 3 nodes and discussed linked list traversal.All programs discussed in this post consider the following representations of the linked list. JavaScript// Linked List Class // Head of list let head; // Node 7 min read Javascript Program For Inserting Node In The Middle Of The Linked List Given a linked list containing n nodes. The problem is to insert a new node with data x at the middle of the list. If n is even, then insert the new node after the (n/2)th node, else insert the new node after the (n+1)/2th node.Examples: Input : list: 1->2->4->5 x = 3Output : 1->2->3- 4 min read Javascript Program For Writing A Function To Delete A Linked List A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers. This article focuses on writing a function to delete a linked list.Implementation: JavaScript// Javascript program to delete // a li 1 min read Javascript Program For Deleting A Linked List Node At A Given Position Given a singly linked list and a position, delete a linked list node at the given position.Example: Input: position = 1, Linked List = 8->2->3->1->7Output: Linked List = 8->3->1->7Input: position = 0, Linked List = 8->2->3->1->7Output: Linked List = 2->3->1- 3 min read Javascript Program For Finding Length Of A Linked List Write a function to count the number of nodes in a given singly linked list.For example, the function should return 5 for linked list 1->3->1->2->1.Iterative Solution: 1) Initialize count as 0 2) Initialize a node pointer, current = head.3) Do following while current is not NULL a) curre 3 min read Javascript Program For Rotating A Linked List Given a singly linked list, rotate the linked list counter-clockwise by k nodes. Where k is a given positive integer. For example, if the given linked list is 10->20->30->40->50->60 and k is 4, the list should be modified to 50->60->10->20->30->40. Assume that k is smal 5 min read Javascript Program For Making Middle Node Head In A Linked List Given a singly linked list, find middle of the linked list and set middle node of the linked list at beginning of the linked list. Examples:Input: 1 2 3 4 5 Output: 3 1 2 4 5Input: 1 2 3 4 5 6Output: 4 1 2 3 5 6 The idea is to first find middle of a linked list using two pointers, first one moves on 3 min read Like