diff --git a/src/.prettierrc b/src/.prettierrc new file mode 100644 index 0000000..6312b3c --- /dev/null +++ b/src/.prettierrc @@ -0,0 +1,5 @@ +{ + "singleQuote": true, + "arrowParens": "avoid", + "printWidth": 120 +} diff --git a/src/leecode/javascript/67.二进制求和.js b/src/leecode/javascript/67.二进制求和.js index 1eb1f75..354788b 100644 --- a/src/leecode/javascript/67.二进制求和.js +++ b/src/leecode/javascript/67.二进制求和.js @@ -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