Question
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
- improved
class Solution {
public:
string addBinary(string a, string b) {
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
int carry = 0;
string s="";
int n = max(a.size(),b.size());
for(int i = 0 ; i < n ;i++)
{
if(i<a.size())
carry += (a[i] - '0');
if(i<b.size())
carry += (b[i] - '0');
s.push_back(carry%2+'0');
carry/=2;
}
if(carry)
s.push_back('1');
reverse(s.begin(),s.end());
return s;
}
};
网友评论