#67. Add Binary
Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1 or 0.
Example 1:
Input: a = “11”, b = “1”
Output: “100”
Example 2:
Input: a = “1010”, b = “1011”
Output: “10101”
这道题是将两个二进制字符串相加,首先把两个字符串倒转过来,然后将计算的结果放在一个数组中,最后再将数组倒转得到最后的结果。
var addBinary = function(a, b) {
a = a.split("").reverse().join("");
b = b.split("").reverse().join("");
len = a.length > b.length ? a.length : b.length;
result = [];
for(let i = 0; i < len; i += 1){
num1 = Number(a[i] || 0);
num2 = Number(b[i]) || 0;
curr = Number(result[i]||0) + num1 + num2
if(curr >= 2){
result[i] = curr%2;
result.push(1)
}
else{
result[i] = curr
}
}
return result.reverse().join("")
};