Add Binary

来源:互联网 发布:js过渡效果 编辑:程序博客网 时间:2024/06/05 07:49

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) {        reverse(a.begin(),a.end());        reverse(b.begin(),b.end());        string c;        int len1=a.length();        int len2=b.length();        int i=0,j=0;        int a1,b1;        int tmp=0;        while(1){            if(i<len1) a1=a[i++]-'0';            else       a1=0;            if(j<len2) b1=b[j++]-'0';            else       b1=0;            int sum=tmp+a1+b1;            if(sum==0){                c+='0';                tmp=0;            }            else{                if(sum==1){                    c+='1';                    tmp=0;                }                else{                    if(sum==2){                        c+='0';                        tmp=1;                    }                    else{                        if(sum==3){                            c+='1';                            tmp=1;                        }                    }                }            }            if(i>=len1 && j>=len2 && tmp==0)             break;        }        reverse(c.begin(),c.end());        return c;    }};


0 0