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.