c_cpp 添加Binaryhttp://oj.leetcode.com/problems/add-binary/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 添加Binaryhttp://oj.leetcode.com/problems/add-binary/相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    string addBinary(string a, string b) {
        int carry = 0;
        int i = a.size() - 1;
        int j = b.size() - 1;
        string result;
        while(i >= 0 && j >= 0){
            int r = a[i] - '0' + b[j] - '0' + carry;
            carry = r / 2;
            result.insert(result.begin(), r%2 + '0');
            i--;
            j--;
        }
        while(i >= 0){
            int r = a[i] - '0' + carry;
            carry = r / 2;
            result.insert(result.begin(), r%2 + '0');
            i--;
        }
        while(j >= 0){
            int r =  b[j] - '0' + carry;
            carry = r / 2;
            result.insert(result.begin(), r%2 + '0');
            j--;
        }
        while(carry > 0){
            int r = carry;
            carry = r / 2;
            result.insert(result.begin(), r%2 + '0');
        }
        return result;
    }
};

以上是关于c_cpp 添加Binaryhttp://oj.leetcode.com/problems/add-binary/的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 添加2个大号

c_cpp 添加或加倍

c_cpp 添加陷阱到宝箱

c_cpp 串联/添加两个字符串

c_cpp 图片中选定位置添加标志

c_cpp 【17】为程序界面添加滑动条