[LeetCode]1290. Convert Binary Number in a Linked List to Integer

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.

 

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
Example 3:

Input: head = [1]
Output: 1


Example 4:

Input: head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]
Output: 18880


Example 5:

Input: head = [0,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.

 

python3:

 1 # Definition for singly-linked list.
 2 # class ListNode:
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.next = None
 6 
 7 class Solution:
 8     def getDecimalValue(self, head: ListNode) -> int:
 9         rst = ''
10         while (head.next != None):
11             rst += str(head.val)
12             head = head.next
13         rst += str(head.val)
14         return int(rst, 2)
posted @ 2019-12-18 16:10  界757  阅读(155)  评论(0编辑  收藏  举报