w3resource

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?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

Java: Tips of the Day

getEnumMap

Converts to enum to Map where key is the name and value is Enum itself.

public static <E extends Enum<E>> Map<String, E> getEnumMap(final Class<E> enumClass) {
    return Arrays.stream(enumClass.getEnumConstants())
            .collect(Collectors.toMap(Enum::name, Function.identity()));
}

Ref: https://bit.ly/3xXcFZt