w3resource

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

JavaScript Singly Linked List: Exercise-6 with Solution

Write a JavaScript program to insert a new node at the end 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;
}  
 insertLast(value) {
      this.insertAt(numList.size(),value);
       }  
 size() {
    let ctr = 0;
    let node = this.Head;
    while (node) {
        ctr++;
        node = node.next;
    }
    return ctr;
}  
  
 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 200 at last position:")
numList.insertLast(new Node(200));
numList.displayList();
console.log("Insert 20 at last position:")
numList.insertLast(new Node(20));
numList.displayList();


Sample Output:

12->13->14->15->NULL
Insert 200 at last position:
12->13->14->15->200->NULL
Insert 20 at last position:
12->13->14->15->200->20->NULL

Flowchart:

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

Live Demo:

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


Improve this sample solution and post your code through Disqus

Singly Linked List Previous: Insert a new node at the beginning of a Singly Linked List.
Singly Linked List Next: Get a node in an existing 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