LeetCode_Add Binary

来源:互联网 发布:阿里云服务器更换账号 编辑:程序博客网 时间:2024/06/15 14:07

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

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

class Solution {public:    string addBinary(string a, string b) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if (a == "")    return b;    if (b == "")    return a;                int len1 = a.length();    int len2 = b.length();    int len3 = max(len1, len2);    string ans(len3, '0');    int carry = 0;    int i = len1 - 1;    int j = len2 - 1;    while ((i >= 0) || (j >= 0))    {    char ca = '0';    if (i >= 0)    {    ca = a[i--];    }    char cb = '0';    if (j >= 0)    {    cb = b[j--];    }    int tmp = (ca - '0') + (cb - '0') + carry;    carry = tmp / 2;    tmp = tmp % 2;    ans[--len3] = tmp + '0';    }    if (carry == 1)    {    ans.insert(0, 1, '1');    }    return ans;    }};

原创粉丝点击