How to remove a node from a linked list java: In this article we are going to see how we can remove nodes from the beginning and end of a linked list by using Java programming language.
Java Program to Remove Nodes from the Beginning and End of a Linked List
As you know each element is called as a node in Linked List where the first node is called head and last node is called tail. Here we have to remove both head and tail from the Linked List.
Approach:
- Create a linked list by creating an object of that class.
- Add some elements to the list.
- Display the list.
- Delete the node at the beginning of the list by calling the user defined method
deleteBeg()
method. This method points the head to the second element or both head and tail to null (if no other elements are there) and removes the first node from the list. - Display the list.
- Now to delete a node from the end use the user defined method
deleteEnd( )
method. It removes the element at the end and points the tail to the second last element or null(if no other elements are there) - Display the list.
Program:
import java.util.*; // Main class public class Main { // Class Node that defines the two linked list variables class Node { int data; Node nextNode; // constructor to create a node public Node(int data) { this.data = data; this.nextNode = null; } } // Setting the head and end of the node as NULL public Node head = null; public Node tail = null; // Delete a node from the beginning of a linked list public void deleteBeg() { if(head == null) { System.out.println("Linked list is empty"); } else { //checks if there are more than one element in the list // If there is then it points to second element // or else points to null if(head != tail) { head = head.nextNode; } else { head = tail = null; } } } // Delete a node from the end of a linked list public void deleteEnd() { //Checks if the list is empty if(head == null) { System.out.println("Linked list is empty"); } else { //Checks whether the list contains only one element if(head != tail ) { Node curr = head; //Iterate to the second last element while(curr.nextNode != tail) { curr = curr.nextNode; } //Point the tail to the second last element tail = curr; tail.nextNode = null; } //If there is no other element point tail to null else { head = tail = null; } } } // method to add a node to the linked list public void add(int data) { Node newNode = new Node(data); // Checks if there was any previous node if(head==null) { head = newNode; tail = newNode; } else { tail.nextNode = newNode; tail = newNode; } } // Method to display all the nodes of the linked list public void show() { Node curr = head; // If the head is pointing to no node then the linked list is empty if(head==null) System.out.println("Linked List is empty"); else { System.out.println("The nodes are:"); while(curr!=null) { System.out.print(curr.data+","); curr = curr.nextNode; } System.out.println(); } } public static void main(String[] args) { // create an object of the main class Main ll = new Main(); // add elements to the linked list ll.add(10); ll.add(20); ll.add(30); ll.add(40); ll.add(50); ll.add(60); ll.add(70); ll.add(80); ll.add(90); ll.add(100); // display the nodes ll.show(); System.out.println("Deleting a node from the beginning..."); ll.deleteBeg(); ll.show(); System.out.println("Deleting a node from the end..."); ll.deleteEnd(); ll.show(); } }
Output: The nodes are: 10,20,30,40,50,60,70,80,90,100, Deleting a node from the beginning... The nodes are: 20,30,40,50,60,70,80,90,100, Deleting a node from the end... The nodes are: 20,30,40,50,60,70,80,90,
Access the Simple Java program for Interview examples with output from our page and impress your interviewer panel with your coding skills.