[LeetCode]67. Add Binary

来源:互联网 发布:java.swing包 编辑:程序博客网 时间:2024/05/16 17:42

[LeetCode]67. Add Binary

题目描述

这里写图片描述

思路

字符串后往前遍历,记得处理进位即可

代码

#include <iostream>#include <string>#include <algorithm>using namespace std;class Solution {public:    string addBinary(string a, string b) {        string res;        int carry = 0;        int aLen = a.size(), bLen = b.size(), len = max(a.size(), b.size());        for (int i = 1; i <= len; ++i) {            int addA = 0, addB = 0;            if (i <= aLen)                addA = a[aLen - i] - '0';            if (i <= bLen)                addB = b[bLen - i] - '0';            int sum = (addA + addB + carry) % 2;            carry = (addA + addB + carry) / 2;            res = to_string(sum) + res;        }        if (carry)            res = to_string(carry) + res;        return res;    }};int main() {    Solution s;    cout << s.addBinary("10", "1") << endl;    system("pause");    return 0;}
原创粉丝点击