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 len1 = a.size(), len2 = b.size();
string c;
int up = 0;
char a1, b1;
while(len1 > 0 || len2 > 0){
if(len1 <= 0) a1 = '0';
else a1 = a[len1-1];
if(len2 <= 0) b1 = '0';
else b1 = b[len2-1];
int tmp = a1 - '0' + b1 - '0'+ up;
up = 0;
if(tmp == 2 || tmp == 3)
up = 1;
if(tmp %2 == 1)
c = '1' + c;
else
c = '0' + c;
len1--;
len2--;
}
if(up == 1) c = '1' + c;
return c;
}
};