string addBinary(string a, string b) {
string ans="";
int len = max(a.size(), b.size());
int jinwei = 0;
int first, second;
for (int i = 0; i < len; i++) {
first = a.size() < i + 1 ? 0 : a[a.size() - i - 1] - '0';
second = b.size() < i + 1 ? 0 : b[b.size() - i - 1] - '0';
if (first + second + jinwei == 0) {
ans.insert(ans.begin(), '0');
jinwei = 0;
}
else if (first + second + jinwei == 1) {
ans.insert(ans.begin(), '1');
jinwei = 0;
}
else if (first + second + jinwei == 2) {
ans.insert(ans.begin(), '0');
jinwei = 1;
}
else if (first + second + jinwei == 3) {
ans.insert(ans.begin(), '1');
jinwei = 1;
}
}
if(jinwei==1)
ans.insert(ans.begin(), '1');
return ans;
}
位数少的空位补0。