Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Given two binary strings, return their sum (also a binary string).
- For example,
- a = "11"
- b = "1"
- Return "100".
- */
- /**
- * @param {string} a
- * @param {string} b
- * @return {string}
- */
- var addBinary = function(a, b) {
- var alen = a.length || 0,
- blen = b.length || 0,
- res = "",
- carry = 0;
- if(alen < blen){
- var tmp = a;
- a = b;
- b = tmp;
- alen = a.length || 0;
- blen = b.length || 0;
- }
- for(var i = 1; i <= alen; i++){
- var _a = parseInt(a[alen - i]);
- var _b = parseInt(b[blen - i]) || 0;
- var add = _a + _b + carry;
- if(add === 3){
- res = "1" + res;
- carry = 1;
- }else if(add === 2){
- res = "0" + res;
- carry = 1;
- }else{
- res = add + res;
- carry = 0;
- }
- }
- if(carry === 1){
- res = "1" + res;
- }
- return res;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement