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) {
int alen = a.size();
int blen = b.size();
bool carry = false;
string result;
while( alen> || blen>) {
int abit = alen<= ? : a[alen-]-'0';
int bbit = blen<= ? : b[blen-]-'0';
int cbit = carry ? : ;
result.insert(result.begin(), '0' + ((abit+bbit+cbit) & ) );
carry = (abit+bbit+cbit>);
alen--; blen--;
}
if (carry){
result.insert(result.begin(), '1');
}
return result;
}
};