[LeetCode] 67. Add Binary

来源:互联网 发布:软件开发流程文档 编辑:程序博客网 时间:2024/05/21 07:51

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) {        if (a.size() < b.size())            return addBinary(b,a);        b.insert(0, a.size() - b.size(), '0');        string res;        int carry = 0;        for (int i = (int)a.size() - 1; i >= 0; i--) {            int sum = (a[i] - '0') + (b[i] - '0') + carry;            carry = sum / 2;            sum %= 2;            res.insert(0, 1, sum + '0');        }        if (carry) res.insert(0, 1, '1');        return res;    }};