将短的字符串前面补充0,使两字符串对其再进行加法:
class Solution {
public:
string addBinary(string a, string b) {
int n=a.size();
int m=b.size();
if(n>m) b.insert(0,n-m,'0');
else if(m>n) a.insert(0,m-n,'0');
string c;
int jw=0;
for(int i=max(n,m)-1;i>=0;i--){
cout<<a[i]<<" "<<b[i]<<endl;
int cc=(a[i]+b[i]+jw-96)%2;
jw=(a[i]+b[i]+jw-96)/2;
cout<<cc<<" "<<jw<<endl;
c.insert(c.begin(),cc+48);
}
if(jw==1) c.insert(c.begin(),jw+48);
return c;
}
};