class Solution {
public:
string addBinary(string a, string b) {
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
int rec=0;//记录进位
string ans;
for(int i=0;i<a.size()||i<b.size();i++)
{
int ia=i>=a.size()?0:a[i]-'0';//当前位的数字
int ib=i>=b.size()?0:b[i]-'0';
int s=ia+ib+rec;//总和
rec=s/2,s%=2;//进位,当前s的值;
ans+=to_string(s); //加到结果
}
if(rec==1)ans+="1";//最后的进位如果是1那么还要加入结果;
return string(ans.rbegin(),ans.rend());//反转结果
}
};