问题 https://leetcode-cn.com/problems/add-binary/
练习使用JavaScript解答
/**
* @param {string} a
* @param {string} b
* @return {string}
*/
var addBinary = function(a, b) {
var s = "";
var ai,bi,ci=0,si = 0;
var i, j;
for(i = a.length-1, j = b.length-1;i>=0 && j>=0;--i,--j) {
ai = a[i]=='0' ?0:1;
bi = b[j]=='0' ?0:1;
si = ai+bi+ci;
ci = Math.floor(si/2);
s += si%2;
}
while(i>=0) {
ai = a[i]=='0'?0:1;
si = ai+ci;
ci = Math.floor(si/2);
s += si%2;
--i;
}
while(j>=0) {
bi = b[j]=='0'?0:1;
si = bi+ci;
ci = Math.floor(si/2);
s += si%2;
--j;
}
if(ci != 0)
s += ci;
return s.split("").reverse().join("");
};