Add Binary - Javacript

来源:互联网 发布:淘宝导航栏全屏 编辑:程序博客网 时间:2024/06/05 02:38

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"

Return "100".

Tag

Math, String

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

/** * @param {string} a * @param {string} b * @return {string} */var addBinary = function(a, b) {    var ret = "";        var len1 = a.length;    var len2 = b.length;        if(len1 === 0 && len2 === 0) {        return ret;    } else if(len1 === 0) {        return b;    } else if(len2 === 0) {        return a;    } else {        if(len1<len2) {            for(var i=0;i<len2-len1;i++) {                a = '0' + a;            }        } else if(len1>len2) {            for(i=0;i<len1-len2;i++) {                b = '0' + b;            }        }                // guarantee that a and b are the same length        var len = a.length;        var carry = 0;                for(i=len-1;i>=0;i--) {            var sum = parseInt(a[i]) + parseInt(b[i]) + carry;            if(sum >= 2) {                carry = 1;                sum = sum % 2;            } else {                carry = 0;            }            ret = sum + ret;        }                if(carry === 1) {            ret = carry + ret;        }                return ret;    }};


0 0
原创粉丝点击