Add Binary
leetcode binary
题意
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
思路:
处理好carry的情况
code
class Solution {public:string addBinary(string a, string b) {int la = a.length();int lb = b.length();//int len = la > lb ? la + 1 : lb + 1;int len = la > lb ? la : lb;const char zero = '0';string res(len, zero);string a1(len, zero);string b1(len, zero);int k = len - 1;for(int i = la - 1; i >= 0; i--) {a1[k] = a[i];k--;}k = len - 1;for(int i = lb - 1; i >= 0; i--) {b1[k] = b[i];k--;}char ch = '0';int tmp;const int base = 2;for(int i = len - 1; i >= 0; i--) {tmp = (ch - zero) + (a1[i] - zero) + (b1[i] - zero);res[i] = (tmp % base) + zero;ch = (tmp / base) + zero;}if(ch == zero) return res;return ch + res;}};

646

被折叠的 条评论
为什么被折叠?



