c_cpp 67.添加Binary-DifficultyEasy - 2018.8.23

Posted

tags:

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

class Solution {
public:
    string addBinary(string a, string b) {
        int carry = 0;
        int curIndex = 0;
        string result = "";
        char aCurChar;
        char bCurChar;
        int curNum = 0;
        while ((curIndex < a.size() || curIndex < b.size()) || carry > 0) {
            if (curIndex < a.size()) {
                aCurChar = a[a.size() - curIndex - 1];
                curNum += (aCurChar - 48);
            } 
            if (curIndex < b.size()) {
                bCurChar = b[b.size() - curIndex - 1];
                curNum += (bCurChar - 48);
            }
            curNum += carry;
            cout << curNum << endl;
            if (curNum == 2 
                || curNum == 0) {
                result = '0' + result;
            } else {
                result = '1' + result;
            }
            carry = curNum >= 2 ? 1 : 0;
            curIndex++;
            curNum = 0;
        }
        return result;
    }
};

以上是关于c_cpp 67.添加Binary-DifficultyEasy - 2018.8.23的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp C.67:基类应该禁止复制,如果需要“复制”,则提供虚拟克隆。原因:为了防止切片,因为

c_cpp 2.添加两个数字

c_cpp 添加2个大号

c_cpp 添加或加倍

c_cpp 添加陷阱到宝箱

c_cpp 串联/添加两个字符串