思路:一个简单的字符串模拟
class Solution {
public:
string addBinary(string a, string b) {
if(a == "0"){
return b;
}
if(b == "0"){
return a;
}
string an ="";
int l1,l2;
l1 = a.size();
l2 = b.size();
int i,j;
i = l1 - 1;
j = l2 - 1;
int numa,numb,more;
numa = numb = more = 0;
while(i >= 0 || j >= 0){
numa = numb = 0;
if(i >= 0){
numa = a[i] - '0';
i--;
}
if(j >= 0){
numb = b[j] - '0';
j--;
}
int sum = numa + numb + more;
more = 0;
if(sum >= 2){
sum %= 2;
more = 1;
}
an += sum +'0';
// cout << an << endl;
}
if(more > 0){
an += '1';
}
reverse(an.begin(), an.end());
return an;
}
};