Link copied to clipboard. Share away!

Dismiss

Published on 10 Mar 2020

Program to find the nth node from the end of a linked list is discussed here. Given a linked list, the task is to find the Nth node from the end of the list and return it.

This problem can be solved in two different ways.

**Method 1:** By finding the length of the linked list, the Nth node from the end can be found easily.

**Method 2:** By using two pointers, the Nth node from the end can be found.

For example, consider the linked list given below.

Linked List : **1 -> 2 -> 3 -> 4 -> 5**

**4th node from the end is 2**

- Input the number of nodes of the linked list.
- Input all the nodes and create the linked list.
- Input the Nth node to be returned from the end of the linked list.
- Find the length of the linked list.
- Return (length - N + 1)th node.

C

C++

Output

Input -
Enter the number of nodes : 7
Enter the data for the nodes : 19 11 7 9 9 11 26
Linked List : 26--> 11--> 9--> 7-->7 -->11 -->19
Enter value of N : 3
Output -
Nth node from the end : 7

**Time complexity:** O(n)

- Input the number of nodes of the linked list.
- Input all the nodes and create the linked list.
- Input the Nth node to be returned from the end of the linked list.
- Initialize both the reference pointer and the main pointer to the head node.
- First, move reference pointer to n nodes from the head node.
- Now, move both the pointers one by one until the reference pointer reaches the end of the list.
- Now, the main pointer will point to the nth node from the end.
- Return the main pointer.

C

C++

Output

Input -
Enter the number of nodes : 7
Enter the data for the nodes : 19 11 7 9 9 11 26
Linked List : 26--> 11--> 9--> 7-->7 -->11 -->19
Enter value of N : 3
Output -
Nth node from the end : 7

*Recommended Programs*

If you have any feedback about this
article and want to improve this, please write to **enquiry@faceprep.in**

×