二进制求和。注意进位就可以了。
class Solution {
public:
string addBinary(string a, string b) {
string ans;
int carry = 0, num;
for(int i = 0; i < max(a.size(), b.size()); i++){
char c1 = i < a.size() ? a[a.size()-i-1] : '0';
char c2 = i < b.size() ? b[b.size()-i-1] : '0';
num = (c1-'0') + (c2-'0') + carry;
carry = num /2;
ans = char(num%2 + '0') + ans;
}
if(carry){
ans = '1' + ans;
}
return ans;
}
};