Skip to content

1411. Convert Binary Number In A Linked List To Integer

Linked List Math

Problem - Convert Binary Number In A Linked List To Integer

Easy

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.

Solutions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def getDecimalValue(self, head: Optional[ListNode]) -> int:
        result = 0
        while head:
            result = result << 1 | head.val
            print(result)
            head = head.next
        return result

Submission Stats:

  • Runtime: 0 ms (100.00%)
  • Memory: 17.8 MB (30.11%)