Skip to content

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(''))

源码:ts/leetcode/67. 二进制求和.ts


在 GitHub 上查看题目所在目录:lmliheng/algorithm