w3resource

JavaScript Exercises: Insert a new node at the beginning of a Singly Linked List

JavaScript Singly Linked List: Exercise-5 with Solution

Write a JavaScript program to insert a new node at the beginning of a Singly Linked List.

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;
}
insertAt(index, newNode){
    let node = this.Head;
    if(index==0) {
        newNode.next = node;
        this.Head = newNode;
        return;
    } 
    while(--index){
        if(node.next!==null)
            node = node.next;
        else
            throw Error("Index Out of Bound");
    }
    let tempVal = node.next;
    node.next = newNode;
    newNode.next = tempVal;
}  
 insertFirst(value) {   
    this.insertAt(0, value);
  }  
 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(12));
numList.add(new Node(13));
numList.add(new Node(14));
numList.add(new Node(15));
numList.displayList();
console.log("Insert 100 at first position:")
numList.insertFirst(new Node(100));
numList.displayList();
console.log("Insert 10 at first position:")
numList.insertFirst(new Node(10));
numList.displayList();


Sample Output:

12->13->14->15->NULL
Insert 100 at first position:
100->12->13->14->15->NULL
Insert 10 at first position:
10->100->12->13->14->15->NULL

Flowchart:

Flowchart: JavaScript Exercises: Insert a new node at the beginning of a Singly Linked List.

Live Demo:

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


Improve this sample solution and post your code through Disqus

Singly Linked List Previous: Insert a new node at any position of a Singly Linked List.
Singly Linked List Next: Insert a new node at the end of 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.

JavaScript: Tips of the Day

Shorten an array using its length property

A great way of shortening an array is by redefining its length property.

let array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9]
array.length = 4
// Result: [0, 1, 2, 3]

Important to know though is that this is a destructive way of changing the array. This means you lose all the other values that used to be in the array.

Ref: https://bit.ly/2LBj213