Add Binary - leetcode
Add Binary -- leetcode
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
class Solution { public: string addBinary(string a, string b) { string ans; ans.reserve(max(a.size(), b.size()) + 1); for (int i=a.size()-1, j=b.size()-1, carry = 0; i>=0 || j>=0 || carry; i--, j--) { const int sum = (i>=0 ? a[i]-'0': 0) + (j>=0 ? b[j]-'0' : 0) + carry; ans.push_back(sum % 2 + '0'); carry = sum / 2; } std::reverse(ans.begin(), ans.end()); return ans; } };