Skip to content
Related Articles
Open in App
Not now

Related Articles

Javascript Program For Printing Reverse Of A Linked List Without Actually Reversing

Improve Article
Save Article
Like Article
  • Last Updated : 08 Jul, 2022
Improve Article
Save Article
Like Article

Given a linked list, print reverse of it using a recursive function. For example, if the given linked list is 1->2->3->4, then output should be 4->3->2->1.
Note that the question is only about printing the reverse. To reverse the list itself see this 
Difficulty Level: Rookie 



  1. call print reverse for head->next
  2. print head->data



// Javascript program to print reverse
// of a linked list
// Head of list
var head;
// Linked list Node
class Node
    { = val; = null;
// Function to print reverse of
// linked list
function printReverse(head)
    if (head == null)
    // Print list of head node
    // After everything else is printed
    document.write( + " ");
// Utility Functions
// Inserts a new Node at front of the list.
function push(new_data)
    /* 1 & 2: Allocate the Node &
              Put in the data */
    new_node = new Node(new_data);
    // 3. Make next of new Node as head */ = head;
    // 4. Move the head to point to new Node */
    head = new_node;
// Driver code
// Create linked list 1->2->3->4
// This code is contributed by Rajput-Ji


4 3 2 1

Time Complexity: O(n)

Space Complexity: O(n) for call stack since using recursion

Please refer complete article on Print reverse of a Linked List without actually reversing for more details!

My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!