var addBinary = function(a, b) {
//len为最长的a b
let len = Math.max(a.length, b.length);
//在前面补0使得等长
a = a.padStart(len, 0).split('');
b = b.padStart(len, 0).split('');
let res = [];
//进位
let isten = 0;
//从后向前计算
for(let i = len - 1; i >= 0; i--){
//将字符串变为number类型
a[i] = parseInt(a[i]);
b[i] = parseInt(b[i]);
if(a[i] + b[i] + isten == 3){
res.unshift(1);
isten = 1;
}else if(a[i] + b[i] + isten == 2){
res.unshift(0);
isten = 1;
}else if(a[i] + b[i] + isten == 1){
res.unshift(1);
isten = 0;
}else{
res.unshift(0);
isten = 0;
}
}
//最后一个近位是1
if(isten == 1)res.unshift(1);
return res.join('');
};
JS力扣刷题67. 二进制求和
最新推荐文章于 2023-07-27 20:58:28 发布