###### tags: `LeetCode Study Group - LinkedList` `LeetCode Easy` `LeetCode Study Group` # 1290. Convert Binary Number in a Linked List to Integer Link: https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/description/ Given head which is a reference node to a singly-linked list. The value of each node in the linked list is either 0 or 1. The linked list holds the binary representation of a number. Return the decimal value of the number in the linked list. The most significant bit is at the head of the linked list. Example 1: ``` Input: head = [1,0,1] Output: 5 Explanation: (101) in base 2 = (5) in base 10 ``` Example 2: ``` Input: head = [0] Output: 0 ``` Constraints: ``` The Linked List is not empty. Number of nodes will not exceed 30. Each node's value is either 0 or 1. ``` ## Solution-1 Time complexity: O(n) Space complexity: O(1) ```java /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public int getDecimalValue(ListNode head) { ListNode node = head; int res = 0; while(node != null){ res = res * 2 + node.val; node = node.next; } return res; } } ``` ## Reference https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/solutions/851040/convert-binary-number-in-a-linked-list-to-integer/