Skip to content

Commit 82e58e6

Browse files
committedAug 26, 2023
Create: 0067-add-binary.js
1 parent b6e7f66 commit 82e58e6

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
 

‎javascript/0067-add-binary.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {string} a
3+
* @param {string} b
4+
* @return {string}
5+
*/
6+
var addBinary = function (a, b) {
7+
let carry = 0;
8+
let maxLength = a.length;
9+
let result = '';
10+
11+
if (a.length < b.length) {
12+
a = '0'.repeat(b.length - a.length) + a;
13+
maxLength = b.length;
14+
} else {
15+
b = '0'.repeat(a.length - b.length) + b;
16+
}
17+
18+
for (let i = maxLength - 1; i >= 0; i--) {
19+
sum = parseInt(a[i]) + parseInt(b[i]) + carry;
20+
result = (sum % 2) + result;
21+
if (sum >= 2) {
22+
carry = 1;
23+
} else {
24+
carry = 0;
25+
}
26+
}
27+
if (carry) result = '1' + result;
28+
return result;
29+
};

0 commit comments

Comments
 (0)