w3resource
Java Programming Exercies

Java Exercises: Remove the nth element from the end of a given list

Java Basic: Exercise-145 with Solution

Write a Java program to remove the nth element from the end of a given list.

Pictorial Presentation:

Java Basic Exercises: Remove the nth element from the end of a given list.

Sample Solution:

Java Code:

import java.util.*;
public class Solution {
    public static void main(String[] args) {
        ListNode h = new ListNode(1);
        h.next = new ListNode(2);
        h.next.next = new ListNode(3);
        h.next.next.next = new ListNode(4);
        h.next.next.next.next = new ListNode(5);
		ListNode o = h;
		System.out.println("Original node:");
		while (o != null) {
            System.out.print(o.val + " ");
            o = o.next;
        }
        System.out.println("\nAfter removing 2nd element from end:");
		ListNode head = removeNthFromEnd(h, 2);
    
	    while (head != null) {
            System.out.print(head.val + " ");
            head = head.next;
        }
	
    }
     public static ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode p = head;
        int size = 0;
        while (p != null) {
            size++;
            p = p.next;
        }
        if (n == size) {  
            head = head.next;
        } else {
            int index = size - n;
            ListNode t = head;
            while (index > 1) {
                t = t.next;
                index--;
            }
            t.next = t.next.next;
        }
        return head;
    }
}
class ListNode {
    int val;
    ListNode next;

    ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

Sample Output:

Original node:
1 2 3 4 5 
After removing 2nd element from end:
1 2 3 5 

Flowchart:

Flowchart: Java exercises: Remove the nth element from the end of a given list.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Java program to remove all occurrences of a specified value in a given array of integers and return the new length of the array.
Next: Write a Java program to convert an sorted array to binary search tree. Maintain minimal height of the tree.

What is the difficulty level of this exercise?