# Python Program to Display the Nodes of a Linked List in Reverse using Recursion

PythonServer Side ProgrammingProgramming

#### Beyond Basic Programming - Intermediate Python

Most Popular

36 Lectures 3 hours

#### Practical Machine Learning using Python

Best Seller

91 Lectures 23.5 hours

#### Practical Data Science using Python

22 Lectures 6 hours

When it is required to display the elements/nodes in a linked list in reverse order, using recursion method, a method to add values to the linked list, as well as a method to reverse the elements of a Linked List. It would also have a helper method that uses recursion, i.e calls the helper function again and again to compute values.

Below is a demonstration for the same −

## Example

Live Demo

class Node:
def __init__(self, data):
self.data = data
self.next = None

def __init__(self):
self.last_node = None

if self.last_node is None:
else:
self.last_node.next = Node(my_data)
self.last_node = self.last_node.next

def reverse_display(self):

def helper_reverse_display(self, curr):
if curr is None:
return

self.helper_reverse_display(curr.next)
print(curr.data)

n = int(input('How many elements you wish to add ? '))
for i in range(n):
data = int(input('Enter the data item : '))

print('The reversed linked list is: ')
my_instance.reverse_display()

## Output

How many elements you wish to add ? 4
Enter the data item : 21
Enter the data item : 34
Enter the data item : 56
Enter the data item : 68
68
56
34
21

## Explanation

• The ‘Node’ class is created.

• Another ‘my_linked_list’ class with required attributes is created.

• It has an ‘init’ function that is used to initialize the first element, i.e the ‘head’ to ‘None’ and last node to ‘None’.

• Another method named ‘add_value’ is defined, that is used to add data to the linked list.

• Another method named ‘reverse_display’ is defined that is used to display the linked list data in reverse order on the console.

• Another helper function is defined, since recursion needs to be used here.

• The ‘reverse_display’ is called in the helper function.

• An object of the ‘my_linked_list’ class is created.

• The user input is taken for the number of elements in the linked list.

• The elements are added to the list.

• This range is iterated over, and the methods are called on it to add data.

• The element to be searched is taken as user input, and it is searched for.

• The index of this element, if found, is displayed on the console.

Updated on 14-Apr-2021 12:57:08