67. 二进制求和
1 class Solution 2 { 3 public: 4 string addBinary(string a, string b) 5 { 6 if(a.size() < b.size()) swap(a,b); 7 int C = 0;//进位 8 int m = a.size(),n = b.size(); 9 string str; 10 for(int i = m - 1,j = n - 1;i >= 0 || j >= 0;i --,j --) 11 { 12 int sum = (i>=0?a[i]-'0':0) + (j>=0?b[j]-'0':0) + C; 13 14 if(sum == 2) C = 1,sum = 0; 15 else if(sum == 3) C = 1,sum = 1; 16 else C = 0; 17 18 str = to_string(sum) + str; 19 } 20 if(C == 1) str = to_string(C) + str; 21 return str; 22 } 23 };
Mamba never out

浙公网安备 33010602011771号