addBinary

class Solution {

public:

string addBinary(string a, string b) {

int l = a.size()>b.size()? a.size() : b.size();

int al = a.size();

int bl = b.size();

int m=0,n=0,carry=0,val=0;

string ret;

reverse(a.begin(),a.end());

reverse(b.begin(),b.end());

for(int i = 0;i<l;i++){

m=i<al ? a[i]-'0' : 0;

n = i<bl? b[i]-'0':0;

val = (m+n+carry)%2;

carry = (m+n+carry)/2;(carry 和val顺序调换了)

ret.insert(ret.begin(),val+'0');

}

if(carry==1)

ret.insert(ret.begin(),'1');

return ret;

}

};

Last updated

Was this helpful?