class Solution {
public:
string addBinary(string a, string b) {
// Note: The Solution object is instantiated only once and is reused by each test case.
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
string ans="";
int carry=0;
int len=max(a.size(),b.size());
for(int i=0;i<len;i++)
{
int ca=0;
if(i<a.size())
ca=a[i]-'0';
int cb=0;
if(i<b.size())
cb=b[i]-'0';
int sum=ca+cb+carry;
ans+=sum%2+'0';//注意此处是+=,而不是ans[i]=
carry=sum/2;
}
if(carry==1)
ans+='1';
reverse(ans.begin(),ans.end());
return ans;
}
};