Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
难度系数:
容易
实现
string addBinary(string a, string b)
{
string sum;
int ai = a.length();
int bi = b.length();
int maxlen = max(ai, bi);
int bit = 0;
int val = 0;
while (maxlen) {
val = bit;
if (ai > 0) {
ai--;
val += a[ai] - '0';
}
if (bi > 0) {
bi--;
val += b[bi] - '0';
}
if (val >=2) {
bit = 1;
val -= 2;
} else {
bit = 0;
}
sum.insert(sum.begin(), '0' + val);
maxlen--;
}
if (bit >= 1) {
sum.insert(sum.begin(), '1');
}
return sum;
}