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 2 | Java

  Problem Statement: Write a program to draw the following pattern: * * * * * * * * * * * * * * * (take a variable n which decides the number of rows, for above example, n=5) THE CODE Output: *  * *  * * *  * * * *  * * * * *  * * * * * *          * * * * * * *        * * * * * * * *      * * * * * * * * *    * * * * * * * * * * Simplification : In the above problem, the value of n is 10 (i.e., the number of rows are 10) 1. In the first for loop we have i as the counter variable with initial value of 1 and having a condition i.e. i should be less than or equal to n.  It has a print statement after the second for loop,  System.out.println(); w hich is used for changing the row, each time for the second for loop terminates. 2. In the second for loop we have j as the counter variable with initial value of 1 having a condition i.e. j  should be  less than or equal to i (the value of i  will be as per the current ongoing iteration). Further it has an updation statement j++  Inside the seco

Code #1 | Hello Java | Basics of Java

Today starting with a very basic coding program in Java. So, the program is Write a program in Java to print "Hello Java!" Output: Hello Java!

Bubble Sort | Java & Python | MyCodingNetwork | Alok Tripathi

  Bubble Sort is a simple sorting algorithm that works by repeatedly comparing and swapping adjacent elements in an array until they are in the correct order. It is called bubble sort because the smaller elements "bubble" to the top of the array, while the larger elements sink to the bottom. Quick Video Explanation: How Bubble Sort Works Bubble sort works by iterating through the array from left to right and comparing each pair of adjacent elements. If the element on the left is larger than the element on the right, they are swapped. This way, the largest element in the array moves to the rightmost position in each iteration. This process is repeated until no more swaps are needed, which means the array is sorted. To illustrate how bubble sort works, let's use the example of sorting the array [30,90,50,10,40] in ascending order. First Iteration/Pass: The first step is to compare the first two elements, 30 and 90. Since 30 is smaller than 90, they are already i