[67] 二进制求和

This commit is contained in:
Wen 2023-04-21 14:21:32 +08:00
parent ee596fd072
commit c7eafcfc21
2 changed files with 20 additions and 1 deletions

5
src/.prettierrc Normal file
View File

@ -0,0 +1,5 @@
{
"singleQuote": true,
"arrowParens": "avoid",
"printWidth": 120
}

View File

@ -10,5 +10,19 @@
* @param {string} b
* @return {string}
*/
var addBinary = function (a, b) {};
var addBinary = function (a, b) {
let carry = 0,
index = 1,
ret = '';
while (a[a.length-index] || b[b.length-index]) {
const aval = parseInt(a[a.length-index] || 0);
const bval = parseInt(b[b.length-index] || 0);
ret = ((aval ^ bval) ^ carry) + ret;
carry = (aval & bval) | (aval & carry) | (bval & carry);
index ++;
}
if (carry) ret = carry + ret;
return ret;
};
console.log(addBinary('1', '11'));
// @lc cod e=end