【second】Add Binary
string addBinary(string a, string b) {
// Note: The Solution object is instantiated only once and is reused by each test case.
int m = a.size();
int n = b.size();
string res(max(m,n)+1,'0');
int i = m-1,j=n-1;
int carry = 0;
int k = res.size()-1;
while(i>=0||j>=0||carry>0)
{
int num1 = (i<0?0:a[i]-'0');
int num2 = (j<0?0:b[j]-'0');
int sum = num1+num2+carry;
res[k] += sum%2;
carry = sum>>1;
--i;
--j;
--k;
}
if(res[0]!='0')
return res;
else
return string(res.begin()+1,res.end());
}
浙公网安备 33010602011771号