67. Add Binary

版权声明:仅供参考与学习交流 https://blog.csdn.net/lym940928/article/details/80347097

1,题目要求
Given two binary strings, return their sum (also a binary string).

The input strings are both non-empty and contains only characters 1 or 0.
这里写图片描述
求两个二进制的数字的和。

2,题目思路
即进行普通的数字相加,并在进行相加时对进位进行记录即可。

3,程序源码

class Solution {
public:
    string addBinary(string a, string b) {
        string res = "";
        int carry = 0;//进位
        int i = a.size()-1, j = b.size()-1;
        while(i>=0 || j>=0 || carry==1)
        {
            int sum = carry;
            if(i>=0)
                sum += (a[i--]-'0');
            if(j>=0)
                sum += (b[j--]-'0');
            res = to_string(sum%2) + res;
            carry = sum/2;
        }
        return res;
    }
};
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页