Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

 1 class Solution {
 2 public:
 3     string addBinary(string a, string b) {
 4         string ans;
 5         int carry = 0;
 6         int sum = 0;
 7         int i = a.size() - 1, j = b.size() - 1;
 8         while (!(i < 0 && j < 0)) {
 9             int ai = i >= 0 ? a[i] - '0' : 0;
10             int bj = j >= 0 ? b[j] - '0' : 0;
11             sum = ai + bj + carry;
12             ans.insert(ans.begin(), sum % 2 + '0');
13             carry = sum / 2;
14             --i, --j;
15         }
16         if (carry == 1) {
17             ans.insert(ans.begin(), '1');
18         }
19         return ans;
20     }
21 };
View Code

相关文章:

  • 2021-08-03
  • 2021-11-15
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-01
  • 2021-11-27
  • 2021-06-19
  • 2021-12-11
  • 2021-07-26
  • 2021-12-13
相关资源
相似解决方案