<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一.題目描述 Given two binary strings, return their sum (also a binary string). For example,? a = “11”? b = “1”? Return ”100”. ## 二.解題技巧 這道題考察兩個二進制數相加,考慮到輸入的是兩組string,同時注意在運算時從左到右分別是從低位到高位,因此需要考慮對輸入進行翻轉處理,中間二進制樹相加部分沒有過多的設計障礙,主要是計算進位;在兩組數據相加完成后,還需要考慮最高位的進位問題。 ## 三.示例代碼 ~~~ #include <iostream> #include <string> using namespace std; class Solution { public: string AddBinary(string a, string b) { size_t size = a.size() > b.size() ? a.size() : b.size(); reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); int CarryBit = 0; // 進位 string result; // 用于存放結果 for (size_t i = 0; i < size; i++) { int a_num = a.size() > i ? a[i] - '0' : 0; int b_num = b.size() > i ? b[i] - '0' : 0; int val = (a_num + b_num + CarryBit) % 2; CarryBit = (a_num + b_num + CarryBit) / 2; // 進位 result.insert(result.begin(), val + '0'); } if (CarryBit == 1) result.insert(result.begin(), '1'); return result; } }; ~~~ 測試代碼: ~~~ #include "AddBinary.h" using std::cout; using std::cin; int main() { string a, b; cout << "Input the first string: "; cin >> a; cout << "\nInput the second string: "; cin >> b; Solution s; string result = s.AddBinary(a, b); cout << "\nThe Add Binary result is : " << result; return 0; } ~~~ 幾個測試結果: ![](https://box.kancloud.cn/2016-01-05_568bb5e9e167d.jpg) ![](https://box.kancloud.cn/2016-01-05_568bb5ea0856f.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看