Skip to main content

Print a Linked List in Reverse Order | Linked List | Java | MyCodingNetwork

 


Print a Linked List in Reverse Order


After mastering the four standard operations on a Linked List - Creation, Traversal, Insertion, and Deletion - we will now proceed to the next topic: 'Printing a Linked List in Reverse Order'. It serves as a continuation of our previous discussions. We will build upon the topics and ideas that we have previously explored to further our understanding about Linked List.

We 'll be using recursive approach for the implementation. For this a separate recursive function would be needed. Concept of stack is also implemented for print statement. Let's discuss the algorithm for the same:

Algorithm:

  1. Create a function printReverse(), which takes 'head' of the Linked List as the parameter.
  2. Take a temporary node 'cur' and assign it with the head of the list.
  3. Create a base case which checks if cur==null.
  4. If base case is TRUE, then function would return.
  5. If base case is FALSE, then the statements following that base case would be executed.
  6. Function call statement is defined which contains pointer to the next node.
  7. Following the function call statement there is a print statement, which would be executed after base case is TRUE, in LIFO manner.

Source Code:



Time Complexity: The time complexity of the function is `O(n)`, where `n` is the number of nodes in the linked list. This is because the function `printReverse` is called recursively for each node in the list until it reaches the end. Each recursive call takes constant time, so the overall time complexity is linear in the number of nodes.

Full Source Code: Code | Reverse Order Printing of Linked List (mycodingnetwork.blogspot.com)

Output: 



Video Reference:





Hope you liked this explanation, for any doubt/feedback/improvements/corrections you can comment down in the comment section.

Popular posts from this blog

Pattern 1 | Java

Problem Statement: Write a program to draw the following pattern of NxN(where N is the input): * * * * * * * * * * * * * * * * * * * * * * * * * (here, N=5) THE CODE Output: Here, the input is 8 Simplification : In the above problem, two for loops are used: 1. The first for loop is having i as counter variable with  initial value of 1 and ending value of 10 with an updation statement i++. 2. The second for loop is having j as counter variable with initial value of 1 and ending value of 10 with an updation statement j++. The second  for loop is used to print  * in the respective column (the value of j represents the column number). It is having a print statement System.out.println("* ") to print * in each column(for convenience, I've added a space for better visibility of columns in the output). The first for loop is used to define rows( the value of i represents the row number). It is having a print statement System.out.print() to change rows each time the second for ...

Pattern 6 | Java | MyCodingNetwork | Alok Tripathi (Code 8)

Problem Statement: Write a program to make a square and mark out its diagonals. Accept the length as input from the user and give output in the following manner: And ( In simple words, we have printed stars (*) on the boundary positions of the matrix and on the centre positions of the matrix we have printed blank space( ) )   THE CODE: Sample Output: In the above program, two int variables r to accept the length of square as input. On line 7, following statement is used to accept the input from the user: int r = sc . nextInt ();   For taking the input Scanner class has been used, more about Scanner class Algorithm: Two for loops are defined: ·         First for loop with counter variable i has initial value 1, conditional statement i less than or equal to r and an updating statement i++ . ·         Inside the first loop there is a second for loop, with counter variable j has ini...

Demystifying Artificial Intelligence: An Introduction to the World of AI

In recent years, the term "artificial intelligence" (AI) has become increasingly prevalent in conversations across various industries. From tech giants to small startups, businesses are exploring AI-driven solutions to streamline processes, enhance decision-making, and innovate in ways previously unimaginable. But what exactly is artificial intelligence, and how does it work? Defining Artificial Intelligence At its core, artificial intelligence refers to the simulation of human intelligence processes by machines, particularly computer systems. These processes include learning (the acquisition of information and rules for using it), reasoning (using rules to reach approximate or definite conclusions), and self-correction. Types of Artificial Intelligence Artificial intelligence can be broadly categorized into two types: 1. Narrow AI (Weak AI): This type of AI is designed to perform a specific task or a set of tasks. Examples include virtual personal assistants like Siri and Al...