JSFiddle - React, Tailwind, and code Playground

TypeScript

class LinkedListNode {
    public value: number;
    public next: LinkedListNode;
}

class LinkedList {
    public head: LinkedListNode;

    public insert(value: number): void {
        console.log(`Inserting: ${value}`);

        let iteratingHead = this.head;

        if (iteratingHead != null) {
            while (iteratingHead.next != null) {
                iteratingHead = iteratingHead.next;
            }

            iteratingHead.next = new LinkedListNode();
            iteratingHead.next.value = value;
        } else {
            this.head = new LinkedListNode();
            this.head.value = value;
        }
    }

    public remove(value: number): void {
        console.log(`Removing: ${value}`);

        let iteratingHead = this.head;

        if (iteratingHead != null) {
            let lastNode = iteratingHead;

            while (iteratingHead.next != null && iteratingHead.next.value === value) {
                lastNode = iteratingHead;
                iteratingHead = iteratingHead.next;
            }

            if (iteratingHead.value === value) {
                if (iteratingHead.next != null) {
                    lastNode.value = null;
                    lastNode.next = iteratingHead.next;
                } else {
                    lastNode.next = null;
                }
            }
        } else {
            console.log("It looks like list is not initilezed yet.");
        }
    }

    public printAll(): void {
        console.log("Printing values:");

        let iteratingHead = this.head;

        if (iteratingHead != null) {
            while (iteratingHead.next != null) {
                if (iteratingHead.value != null) {
                    console.log(iteratingHead.value);
                }

                iteratingHead = iteratingHead.next;
            }

            if (iteratingHead.value != null) {
                console.log(iteratingHead.value);
            }
        } else {
            console.log("List is empty.");
...