23-二进制链表转整数

image-20210501173831068

自己的做法

算法思想

这题很简单。

使用变量result代表最后结果,初始为0。 遍历链表,每次result 乘 2,再加上当前节点值。

算法实现

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
int getDecimalValue(ListNode* head) {
int result = 0;
ListNode * node = head;
while (node != nullptr) {
result = result * 2 + node->val;
node = node->next;
}
return result;
}
};

性能分析

时间复杂度:O(n)O(n)

空间复杂度:O(1)O(1)

参考答案也是这个做法。


23-二进制链表转整数
https://zhaoquaner.github.io/2022/05/11/leetcode/链表/23-二进制链表转整数/
更新于
2022年5月22日
许可协议