w3resource

JavaScript Exercises: Remove the tail element from a Singly Linked list

JavaScript Singly Linked List: Exercise-14 with Solution

Write a JavaScript program that removes the tail element from 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;
}
 removeAt(index_pos){
    let nodes = this.Head;
    if(index_pos===0) {
        if(nodes!==null)
        {
            nodes = nodes.next;
            this.Head = nodes;
        }
        else
            throw Error("Index Out of Bound");

        return;
    }
    while(--index_pos){
        if(nodes.next!==null)
            nodes = nodes.next;
        else
            throw Error("Index Out of Bound");
    }
    nodes.next = nodes.next.next;
}  

   size(){
      let current = this.Head;
      let count = 0;
      while (current) {
          count++;
          current = current.next;
      }
      return count;
}
  
 //Delete the last item from the list
  deleteTail(){
    this.removeAt(this.size()-1);
  }  
 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.add(new Node(14));
console.log("Singly Linked list:")
numList.displayList();
console.log("Remove the tail from the said Singly Linked list:")
numList.deleteTail();
numList.displayList();
console.log("Again remove the tail from the said Singly Linked list:")
numList.deleteTail();
numList.displayList();

Sample Output:

Singly Linked list:
12->13->14->15->14->NULL
Remove the tail from the said Singly Linked list:
12->13->14->15->NULL
Again remove the tail from the said Singly Linked list:
12->13->14->NULL

Flowchart:

Flowchart: JavaScript Exercises: Remove the tail element from a Singly Linked list.
Flowchart: JavaScript Exercises: Remove the tail element from a Singly Linked list.

Live Demo:

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


Improve this sample solution and post your code through Disqus

Singly Linked List Previous: Remove the first element from a Singly Linked list.
Singly Linked List Next: Convert a Singly Linked list into an array.

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