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());
int size1=a.size(),size2=b.size();
int size=size1>size2?size1:size2;
int num1,num2,result,carry=0;
string s;
for(int i=0;i<size;i++){
num1=size1>i?a[i]-'0':0;
num2=size2>i?b[i]-'0':0;
result=num1+num2+carry;
carry=result/2;
result=result%2;
s.insert(0,1,result==0?'0':'1');
}
if(carry==1) s.insert(0,1,'1');
return s;
}
};