听峰问雨 听峰问雨
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)

zfprotectors

默默学习er
首页
导航站
  • 编程语言

    • Python
  • 数据结构与算法
  • 设计模式
  • UVA
  • LeetCode
  • 《Go语言实战》
  • 《Go Web编程》
  • 《算法精粹 经典计算机科学问题的Python实现》
  • 学习
  • 博客搭建
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
GitHub (opens new window)
  • UVA

  • LeetCode

    • LeetCode1 - 两数之和
    • LeetCode53 - 最大子数组和
    • LeetCode88 - 合并两个有序数组
    • LeetCode217 - 存在重复元素
    • LeetCode1108 - IP地址无效化
    • LeetCode1290 - 二进制链表转整数
      • 问题
      • 题解
      • 代码
    • LeetCode1603 - 设计停车系统
  • ACM
  • LeetCode
zfprotectors
2022-05-27
目录

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
编辑 (opens new window)
#链表#数学
上次更新: 2022/06/10, 08:41:22
LeetCode1108 - IP地址无效化
LeetCode1603 - 设计停车系统

← LeetCode1108 - IP地址无效化 LeetCode1603 - 设计停车系统→

最近更新
01
LeetCode88 - 合并两个有序数组
06-22
02
LeetCode1 - 两数之和
06-22
03
LeetCode1603 - 设计停车系统
06-21
更多文章>
Theme by Vdoing | Copyright © 2021-2022 zfprotectors | 闽ICP备2021014222号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式