Horje
JavaScript Program to Print Even Numbers in a Linked List

A linked list is a data structure that stores the values at different memory locations concerning the next memory block of stored value.

You can get all the even numbers stored in a linked list using the below methods.

Using While Loop

To print even numbers in a linked list using the while loop method, we go through each element one by one until we reach the end. At each step, we check if the number is even or not, and if it is even, we print it.

Example: The below code implements the while loop to print even numbers in a linked list.

Javascript

class Node {
    constructor(data) {
        this.data = data;
        this.next = null;
    }
}
 
class LinkedList {
    constructor() {
        this.head = null;
    }
 
    addNode(data) {
        let new_Node = new Node(data);
        new_Node.next = this.head;
        this.head = new_Node;
    }
 
    evenNumbers() {
        let current = this.head;
        while (current !== null) {
            if (current.data % 2 === 0) {
                console.log(current.data);
            }
            current = current.next;
        }
    }
}
 
let linkedList = new LinkedList();
linkedList.addNode(7);
linkedList.addNode(10);
linkedList.addNode(8);
linkedList.addNode(3);
linkedList.addNode(2);
 
console.log("Even numbers in the linked list:");
linkedList.evenNumbers();

Output

Even numbers in the linked list:
2
8
10

Time Complexity: O(n)

Space Complexity: O(1)

Using Recursion

This method recursively checks each node in the linked list to determine if current node’s data stores an even number, if it is even then it simply print it.

Example: The below code implements recursion to check for the even numers in the linked list.

Javascript

class Node {
    constructor(data) {
        this.data = data;
        this.next = null;
    }
}
 
class LinkedList {
    constructor() {
        this.head = null;
    }
 
    addNode(data) {
        let new_Node = new Node(data);
        new_Node.next = this.head;
        this.head = new_Node;
    }
 
    evenNumbers(current) {
        if (current === null) {
            return;
        }
 
        if (current.data % 2 === 0) {
            console.log(current.data);
        }
 
        this.evenNumbers(current.next);
    }
}
 
let linkedList = new LinkedList();
linkedList.addNode(5);
linkedList.addNode(4);
linkedList.addNode(3);
linkedList.addNode(2);
linkedList.addNode(1);
 
console.log("Even numbers in the linked list are:");
linkedList.evenNumbers(linkedList.head);

Output

Even numbers in the linked list are:
2
4

Time Complexity: O(n)

Space Complexity: O(n)




Reffered: https://www.geeksforgeeks.org


JavaScript

Related
How to Convert an Object to a JSON String in Typescript ? How to Convert an Object to a JSON String in Typescript ?
JavaScript Program to Remove All Occurrences of an Element in an Array JavaScript Program to Remove All Occurrences of an Element in an Array
JavaScript Program to Find the Transpose JavaScript Program to Find the Transpose
How to find the Sum of an Array of Numbers in JavaScript ? How to find the Sum of an Array of Numbers in JavaScript ?
How to Implement Recursive Generics in TypeScript ? How to Implement Recursive Generics in TypeScript ?

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
12