Javascript Program To Find Decimal Equivalent Of Binary Linked List Last Updated : 03 Sep, 2024 Comments Improve Suggest changes Like Article Like Report Given a singly linked list of 0s and 1s find its decimal equivalent.Input: 0->0->0->1->1->0->0->1->0Output: 50 Input: 1->0->0Output: 4The decimal value of an empty linked list is considered as 0.Initialize the result as 0. Traverse the linked list and for each node, multiply the result by 2 and add the node's data to it. JavaScript // Javascript Program to find decimal value // of binary linked list // Link list Node class Node { constructor() { this.data = true; this.next = null; } } // Returns decimal value of binary // linked list function decimalValue(head) { // Initialized result let res = 0; // Traverse linked list while (head != null) { // Multiply result by 2 and add // head's data res = (res << 1) + (head.data ? 1 : 0); // Move next head = head.next; } return res; } // Utility function to create a // new node. function newNode(data) { let temp = new Node(); temp.data = (data == 1 ? true : false); temp.next = null; return temp; } // Driver code // Start with the empty list let head = newNode(1); head.next = newNode(0); head.next.next = newNode(1); head.next.next.next = newNode(1); console.log("Decimal value is " + decimalValue(head)); // This code is contributed by aashish1995 OutputDecimal value is 11 Complexity Analysis:Time Complexity: O(n) where n is the number of nodes in the given linked list.Auxiliary Space: O(1), no extra space is required, so it is a constant.Another Approach(by reversing the Linked List):Follow the below steps to solve the given problemFirst reverse the given linked list.Initialize a ans variable to store ans and pos variable to keep track of position of node in linked list.Perform the operation ans = ans + (rhead.data*(2**pos))%MOD)perform ans = ans%MODBelow is the implementation of above approach: JavaScript // JavaScript program to find the decimal value // of binary linked list // node class class Node{ constructor(data){ this.data = data; this.left = null; this.right = null; } } function reverse(head){ if(head == null || head.next == null) return head; let curr = head; let prev = null; let nxt = head.next; while(nxt != null){ curr.next = prev; prev = curr; curr = nxt; nxt = nxt.next; } curr.next = prev; return curr; } function decimalValue(head){ let MOD = 1000000007; let rhead = reverse(head); let ans = 0; let pos = 0; while(rhead != null){ ans = (ans % MOD+(rhead.data*(2**pos)) % MOD) % MOD; rhead = rhead.next; pos += 1; } return ans; } // driver program to test above function let head = new Node(1); head.next = new Node(0); head.next.next = new Node(1); head.next.next.next= new Node(1); console.log("Decimal Value is : " + decimalValue(head)); OutputDecimal Value is : 11 Complexity Analysis:Time Complexity: O(N) where N is the number of nodes in linked list.Auxiliary Space: O(1)Please refer complete article on Decimal Equivalent of Binary Linked List for more details! Comment More infoAdvertise with us K kartik Follow Improve Article Tags : Linked List JavaScript Web Technologies DSA Juniper Networks +1 More Practice Tags : Juniper NetworksLinked List Similar Reads JavaScript Linked List Programs JavaScript Linked List Programs contain a list of articles based on programming. Linked List is a linear data structure that stores data in linearly connected nodes. Linked lists store elements sequentially, but doesnât store the elements contiguously like an array. S. NoArticles1JavaScript Program 5 min read Implementation of LinkedList in Javascript In this article, we will be implementing the LinkedList data structure in Javascript.A linked list is a linear data structure where elements are stored in nodes, each containing a value and a reference (or pointer) to the next node. It allows for efficient insertion and deletion operations.Each node 5 min read Javascript Program For Searching An Element In A Linked List Write a function that searches a given key 'x' in a given singly linked list. The function should return true if x is present in linked list and false otherwise.bool search(Node *head, int x) For example, if the key to be searched is 15 and linked list is 14->21->11->30->10, then functio 3 min read Javascript Program For Inserting A Node In A Linked List We have introduced Linked Lists in the previous post. We also created a simple linked list with 3 nodes and discussed linked list traversal.All programs discussed in this post consider the following representations of the linked list. JavaScript// Linked List Class // Head of list let head; // Node 7 min read Javascript Program For Inserting Node In The Middle Of The Linked List Given a linked list containing n nodes. The problem is to insert a new node with data x at the middle of the list. If n is even, then insert the new node after the (n/2)th node, else insert the new node after the (n+1)/2th node.Examples: Input : list: 1->2->4->5 x = 3Output : 1->2->3- 4 min read Javascript Program For Writing A Function To Delete A Linked List A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers. This article focuses on writing a function to delete a linked list.Implementation: JavaScript// Javascript program to delete // a li 1 min read Javascript Program For Deleting A Linked List Node At A Given Position Given a singly linked list and a position, delete a linked list node at the given position.Example: Input: position = 1, Linked List = 8->2->3->1->7Output: Linked List = 8->3->1->7Input: position = 0, Linked List = 8->2->3->1->7Output: Linked List = 2->3->1- 3 min read Javascript Program For Finding Length Of A Linked List Write a function to count the number of nodes in a given singly linked list.For example, the function should return 5 for linked list 1->3->1->2->1.Iterative Solution: 1) Initialize count as 0 2) Initialize a node pointer, current = head.3) Do following while current is not NULL a) curre 3 min read Javascript Program For Rotating A Linked List Given a singly linked list, rotate the linked list counter-clockwise by k nodes. Where k is a given positive integer. For example, if the given linked list is 10->20->30->40->50->60 and k is 4, the list should be modified to 50->60->10->20->30->40. Assume that k is smal 5 min read Javascript Program For Making Middle Node Head In A Linked List Given a singly linked list, find middle of the linked list and set middle node of the linked list at beginning of the linked list. Examples:Input: 1 2 3 4 5 Output: 3 1 2 4 5Input: 1 2 3 4 5 6Output: 4 1 2 3 5 6 The idea is to first find middle of a linked list using two pointers, first one moves on 3 min read Like