67. 二进制求和
- 题号:67
- 来源:LeetCode
- 难度:简单
- 标签:
字符串数学 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · O(n) 时间 · O(n) 空间 · 更新于 2026-09-27
进制互转练习,模拟加法并未实现
typescript
/**
* @difficulty easy
* @tags 字符串,数学
* @time O(n)
* @space O(n)
* @note 进制互转练习,模拟加法并未实现
* @67. 二进制求和
*/
// 参考66.ts 还是使用模拟加法 封装十二进制转换函数存在问题
let str = '00111001011110000010100101000000'
str = str.trim()
let num = 0
for (let i = str.length - 1; i >= 0; i--) {
console.log("倍数" + (+(str.length - 1 - i)))
console.log("当前位" + (+(str[i])))
num += Math.pow(2, +(str.length - 1 - i)) * +(str[i])
}
console.log(num)
let num2 = 43261596
let stack: number[] = []
while (num2 > 0) {
stack.unshift(num2 % 2)
num2 = Math.floor(num2 / 2)
}
if (stack.length == 0) {
stack.unshift(0)
}
let zeroArr = new Array(32 - stack.length).fill(0)
stack.splice(0, 0, ...zeroArr)
let reserveStack = stack.reverse()
console.log(reserveStack.join(''))在 GitHub 上查看题目所在目录:lmliheng/algorithm