LeetCode1290 - 二进制链表转整数
# 问题
给你一个单链表的引用结点head
。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
请你返回该链表所表示数字的十进制值
。
示例:
输入:head = [1,0,1]
输出:5
解释:二进制数 (101) 转化为十进制数 (5)
提示:
- 链表不为空。
- 链表的结点总数不超过 30。
- 每个结点的值不是 0 就是 1。
# 题解
根据题目的意思很容易理解,举例说,5 = 101 = 1x(2x2)+0x2+1=(1x2+0)x2+1 => res=resx2+val
# 代码
class Solution:
def getDecimalValue(self, head: ListNode) -> int:
res = 0
while head != None:
res = res * 2 + head.val
head = head.next
return res
1
2
3
4
5
6
7
2
3
4
5
6
7
编辑 (opens new window)
上次更新: 2022/06/10, 08:41:22