题目链接:Add Binary

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

For example,

a = "11"
b = "1"
Return "100".

这道题的要求是两个二进制字符串加法运算。

简单的大数加法。仅仅只是是二进制的。处理进位的时候。依照二进制处理就可以。

时间复杂度:O(n)

空间复杂度:O(1)

 1 class Solution
 2 {
 3 public:
 4     string addBinary(string a, string b)
 5     {
 6         string s = "";
 7         
 8         int c = 0, i = a.size() - 1, j = b.size() - 1;
 9         while(i >= 0 || j >= 0 || c == 1)
10         {
11             c += i >= 0 ? a[i --] - '0' : 0;
12             c += j >= 0 ?

b[j --] - '0' : 0; 13 s = char(c % 2 + '0') + s; 14 c /= 2; 15 } 16 17 return s; 18 } 19 };