From c7eafcfc21c91a0e7748fdbf7a6783cea34e4a20 Mon Sep 17 00:00:00 2001 From: Wen <409053122@qq.com> Date: Fri, 21 Apr 2023 14:21:32 +0800 Subject: [PATCH] =?UTF-8?q?[67]=20=E4=BA=8C=E8=BF=9B=E5=88=B6=E6=B1=82?= =?UTF-8?q?=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/.prettierrc | 5 +++++ src/leecode/javascript/67.二进制求和.js | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/.prettierrc 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