LeetCode 67. Add Binary
原题链接
简单
作者:
虞世南
,
2019-10-29 21:30:35
,
所有人可见
,
阅读 1008
C++ 代码
string addBinary(string a, string b) {
int la = a.size(), lb = b.size();
string ans (max(la, lb) + 1, '0');
int carry = 0;
reverse(begin(a), end(a));
reverse(begin(b), end(b));
for (int k = 0; k < ans.size(); ++k) {
int i = k < la ? a[k] - '0' : 0;
int j = k < lb ? b[k] - '0' : 0;
int sum = i + j + carry;
ans[k] += sum % 2;
carry = sum / 2;
}
if (ans[ans.size()-1] == '0') ans.resize(ans.size()-1);
reverse(begin(ans), end(ans));
return ans;
}