Add Strings 字串相加

麥田裡的哈士奇發表於2018-11-12

給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和。

注意:

  1. num1 和num2 的長度都小於 5100.
  2. num1 和num2 都只包含數字 0-9.
  3. num1 和num2 都不包含任何前導零。
  4. 你不能使用任何內建 BigInteger 庫, 也不能直接將輸入的字串轉換為整數形式。

思路:這道題和Add Binary 二進位制求和完全一樣,都是根據除餘取整的方法來做。

class Solution {
public:
    string addStrings(string num1, string num2) {
        string res = "";
        int num1_index = num1.size() - 1, num2_index = num2.size() - 1;
        int count = 0;
        while (num1_index >= 0 || num2_index >= 0 || count == 1) {
            count += num1_index >= 0 ? num1[num1_index--] - '0' : 0;
            count += num2_index >= 0 ? num2[num2_index--] - '0' : 0;
            res = char(count%10+'0')+res;
            count /= 10;
        }
        return res;
    }
};

 

 

相關文章