Java Program To Delete Alternate Nodes Of A Linked List Last Updated : 31 Aug, 2022 Summarize Comments Improve Suggest changes Share 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. Recommended: Please solve it on "PRACTICE" first, before moving on to the solution. Method 1 (Iterative): Keep track of previous of the node to be deleted. First, change the next link of the previous node and iteratively move to the next node. Java // Java program to delete alternate // nodes of a linked list class LinkedList { // Head of list Node head; // Linked list Node class Node { int data; Node next; Node(int d) { data = d; next = null; } } void deleteAlt() { if (head == null) return; Node prev = head; Node 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. public void push(int new_data) { /* 1 & 2: Allocate the Node & Put in the data*/ Node 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 void printList() { Node temp = head; while(temp != null) { System.out.print(temp.data + " "); temp = temp.next; } System.out.println(); } // Driver code public static void main(String args[]) { LinkedList llist = new LinkedList(); /* Constructed Linked List is 1->2->3->4->5->null */ llist.push(5); llist.push(4); llist.push(3); llist.push(2); llist.push(1); System.out.println( "Linked List before calling deleteAlt() "); llist.printList(); llist.deleteAlt(); System.out.println( "Linked List after calling deleteAlt() "); llist.printList(); } } // This code is contributed by Rajat Mishra Output: List before calling deleteAlt() 1 2 3 4 5 List after calling deleteAlt() 1 3 5 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 space Method 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. Java /* Deletes alternate nodes of a list starting with head */ static Node deleteAlt(Node head) { if (head == null) return; Node 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 */ head.next = deleteAlt(head.next); } // This code is contributed by Arnab Kundu Time Complexity: O(n) Auxiliary space: O(n) for call stack because using recursion Please refer complete article on Delete alternate nodes of a Linked List for more details! Comment More infoAdvertise with us Next Article Write a function to delete a Linked List K kartik Follow Improve Article Tags : Java Linked Lists Morgan Stanley Practice Tags : Morgan StanleyJava Similar Reads Javascript Program To Delete Alternate Nodes Of A Linked List 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 4 min read Delete alternate nodes of a Linked List 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. Recomm 14 min read Javascript Program To Delete N Nodes After M Nodes Of A Linked List Given a linked list and two integers M and N. Traverse the linked list such that you retain M nodes then delete next N nodes, continue the same till end of the linked list.Difficulty Level: Rookie Examples:Input:M = 2, N = 2Linked List: 1->2->3->4->5->6->7->8Output:Linked List: 3 min read ArrayList and LinkedList remove() methods in Java with Examples List interface in Java (which is implemented by ArrayList and LinkedList) provides two versions of remove method. boolean remove(Object obj) : It accepts object to be removed. It returns true if it finds and removes the element. It returns false if the element to be removed is not present. Removes t 3 min read Write a function to delete a Linked List Given a linked list, the task is to delete the linked list completely.Examples:Input: head: 1 -> 2 -> 3 -> 4 -> 5 -> NULLOutput: NULLExplanation: Linked List is Deleted.Input: head: 1 -> 12 -> 1 -> 4 -> 1 -> NULLOutput: NULLExplanation: Linked List is Deleted.Table of C 9 min read Javascript Program To Delete Nodes Which Have A Greater Value On Right Side Given a singly linked list, remove all the nodes which have a greater value on the right side. Examples: Input: 12->15->10->11->5->6->2->3->NULL Output: 15->11->6->3->NULL Explanation: 12, 10, 5 and 2 have been deleted because there is a greater value on the right 5 min read Like