概述
二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “1”
输出: “100”
示例 2:
输入: a = “1010”, b = “1011”
输出: “10101”
提示:
每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。
1 <= a.length, b.length <= 10^4
字符串如果不是 “0” ,就都不含前导零。
var addBinary = function(a, b) {
let a_length = a.length
let b_length = b.length
let res = []
if (a_length > b_length) {
b = b.padStart(a_length, '0')
b_length = a_length
} else if (a_length < b_length) {
a = a.padStart(b_length, '0')
a_length = b_length
}
let temp = 0
for (let k = a_length - 1; k >= 0; k--) {
let temp_sum = temp + parseInt(a[k]) + parseInt(b[k])
let end_sum = 0
if (temp_sum === 0) {
end_sum = 0
temp = 0
} else if (temp_sum === 1) {
end_sum = 1
temp = 0
} else if (temp_sum === 2) {
end_sum = 0
temp = 1
} else if (temp_sum === 3) {
end_sum = 1
temp = 1
}
res.unshift(end_sum)
}
if (temp === 1) {
res.unshift(1)
}
return res.join('')
}
let a = "1", b = "111"
res = addBinary(a, b)
console.log(res);
最后
以上就是复杂钥匙为你收集整理的leetcode刷题之二进制求和的全部内容,希望文章能够帮你解决leetcode刷题之二进制求和所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复