第八十八天:力扣67题,二进制求和
地址:leetcode-cn.com/problems/ad…
思路:将两个字符串较短的用 0 补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。
var addBinary = function(a, b) {
let ans = "";
let ca = 0;
for(let i = a.length - 1, j = b.length - 1;i >= 0 || j >= 0; i--, j--) {
let sum = ca;
sum += i >= 0 ? parseInt(a[i]) : 0;
sum += j >= 0 ? parseInt(b[j]) : 0;
ans += sum % 2;
ca = Math.floor(sum / 2);
}
ans += ca == 1 ? ca : "";
return ans.split('').reverse().join('');
};
执行用时:84 ms, 在所有 JavaScript 提交中击败了91.58%的用户
内存消耗:39.8 MB, 在所有 JavaScript 提交中击败了58.01%的用户