Create LinkedList in NodeJS

 class Node {

    constructor(data){

        this.data=data;

        this.next=null;

    }

}


class LinkedList {

    constructor(){

        this.head = null;

    }

    

    append(data){

        const newNode = new Node(data);

        if(!this.head){

            this.head=newNode;

            return;

        }

        let current = this.head;

        while(current.next){

            current = current.next;

        }

        current.next = newNode;

    }

    

    prepend(data){

        const newNode = new Node(data);

        newNode.next = this.head;

        this.head = newNode;

    }

    

    delete(data) {

        if(!this.head) return;

        

        if(this.head.data === data){

            this.head = this.head.next;

            return;

        }

        let current = this.head;

        while(current.next){

            if(current.next.data === data){

                current.next = current.next.next;

                return;

            }

            current = current.next;

        }

    }

    

    display() {

        let current = this.head;

        while(current){

            console.log(current.data);

            current = current.next;

        }

    }

}


const list = new LinkedList();

list.append(1);

list.append(2);

list.append(3);

list.display();

list.prepend(0);

list.delete(2);

list.display();

Comments