题目链接:传送门

Description

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

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

Solution

题意:

二进制加法

思路:

按位加,处理进位

class Solution {
public:
    string addBinary(string a, string b) {
        string res = "";
        reverse(a.begin(), a.end());
        reverse(b.begin(), b.end());
        int i = 0, j = 0, add = 0, alen = a.length(), blen = b.length();
        while (i < alen || i < blen || add) {
            add += i < alen ? a[i] - '0' : 0;
            add += i < blen ? b[i] - '0' : 0;
            res.append(to_string(add % 2));
            add /= 2;
            i++;
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

相关文章:

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