w3resource

JavaScript Exercises: Print a singly linked list in reverse order

JavaScript Singly Linked List: Exercise-2 with Solution

Write a JavaScript program to create a singly linked list of n nodes and display it in reverse order.

Sample Solution:

JavaScript Code:

class Node {
    constructor(data) {
        this.data = data
        this.next = null                
    }
}
class SinglyLinkedList {
    constructor(Head = null) {
        this.Head = Head
    }
add(newNode){
    let node = this.Head;
    if(node==null){
        this.Head = newNode;
        return;
    }
    while (node.next) {
        node = node.next;
    }
    node.next = newNode;
}

reverse_list(){
    let prevNode = null;
    let currentNode = this.Head;
    if(currentNode===null) return;

    let nextNode;
    while(currentNode){
        nextNode = currentNode.next;
        currentNode.next = prevNode;
        prevNode = currentNode;
        currentNode = nextNode;
    }
    this.Head = prevNode;
}
  
 displayList(){
    let node = this.Head;
    var str = ""
    while (node) {
        str += node.data + "->";
        node = node.next;
    }
    str += "NULL"
    console.log(str);  
 } 
}
let numList = new SinglyLinkedList();
numList.add(new Node(2));
numList.add(new Node(3));
numList.add(new Node(4));
numList.add(new Node(5));
numList.add(new Node(6));
numList.add(new Node(7));
console.log("Original Linked list:")
numList.displayList();
numList.reverse_list();
console.log("Reverse Linked list:")
numList.displayList();


Sample Output:

Original Linked list:
2->3->4->5->6->7->NULL
Reverse Linked list:
7->6->5->4->3->2->NULL

Flowchart:

Flowchart: JavaScript  Exercises: Create and display singly linked list.

Live Demo:

See the Pen javascript-singly-linked-list-exercise-2 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Singly Linked List Previous: Create and display singly linked list.
Singly Linked List Next: Count number of nodes in a Singly Linked List.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.