Talentd
FleetCode

1290. Convert Binary Number in a Linked List to Integer

Easy82.3% acceptance10 companies

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.

Hints open one at a time

Hint 1
Traverse the linked list and store all values in a string or array. convert the values obtained to decimal value.
Hint 2
You can solve the problem in O(1) memory using bits operation. use shift left operation ( << ) and or operation ( | ) to get the decimal value in one operation.
7:34
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1# Definition for singly-linked list.
2# class ListNode:
3# def __init__(self, val=0, next=None):
4# self.val = val
5# self.next = next
6class Solution:
7 def getDecimalValue(self, head: Optional[ListNode]) -> int:
8
Starter codePython 3Spaces: 4
Examples
Input
[1,0,1]
Input
[0]
Your code is saved on this device.Solution