LeetCode 1290. 二进制链表转整数

题目描述

1290. 二进制链表转整数

思路分析

解法一:遍历累积(推荐)

核心思路

  • 从头到尾遍历链表。
  • 每次 res = res * 2 + node.val
  • 最终得到十进制值。


复杂度分析

  • 时间复杂度:O(n),其中 n 表示链表长度。
  • 空间复杂度:O(1)。
class Solution {
    public int getDecimalValue(ListNode head) {
        int res = 0;
        ListNode cur = head;
        while (cur != null) {
            res = res * 2 + cur.val;
            cur = cur.next;
        }
        return res;
    }
}
func getDecimalValue(head *ListNode) int {
	res := 0
	cur := head
	for cur != nil {
		res = res*2 + cur.Val
		cur = cur.Next
	}
	return res
}

相似题目

题目 难度 考察点
67. 二进制求和 简单 模拟
190. 颠倒二进制位 简单 位运算
168. Excel 表列名称 简单 进制转换
191. 位1的个数 简单 位运算
405. 数字转换为十六进制数 简单 进制
本文作者:
本文链接: https://hgnulb.github.io/blog/2025/92674116
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!