首页 > 代码库 > 【LeetCode】67. Add Binary 解题小结

【LeetCode】67. Add Binary 解题小结

题目:

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

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

 

class Solution {public:    string addBinary(string a, string b) {       string res(a.size()+b.size(),0);       int i = a.size()-1;       int j = b.size()-1;       int k = res.size()-1;       int carry = 0;              while(i >= 0 || j >= 0 || carry){           int sum = 0;           if (i >= 0) sum += a[i--] - 0;           if (j >= 0) sum += b[j--] - 0;           if (carry) sum += carry;           res[k--] = 0 + (sum%2);           carry = sum / 2;       }               std::size_t pos = res.find_first_not_of(0);        return pos == std::string::npos ? "0":res.substr(pos);    }};

 

【LeetCode】67. Add Binary 解题小结