Add Strings

題目來源
將兩個數(shù)字字符串相加,返回結(jié)果字符串,我原來想著轉(zhuǎn)換為整型,然后進(jìn)行加法,然后再轉(zhuǎn)為字符串。代碼如下:

class Solution {
public:
    string addStrings(string num1, string num2) {
        int n1 = num1.size(), n2 = num2.size();
        long long v1 = 0, v2 = 0;
        for (int i=0; i<n1; i++) {
            v1 = v1 * 10 + (num1[i] - '0');
        }
        for (int i=0; i<n2; i++) {
            v2 = v2 * 10 + (num2[i] - '0');
        }
        return to_string(v1 + v2);
    }
};

但是發(fā)現(xiàn)字符串長度可以達(dá)到5000+位,直接gg,轉(zhuǎn)換為整型的方法顯然行不通了。然后得一個一個加,代碼如下:

class Solution {
public:
    string addStrings(string num1, string num2) {
        int n1 = num1.size(), n2 = num2.size();
        int n = max(n1, n2);
        string res = "";
        bool carry = false;
        for (int i=1; i<=n; i++) {
            int tmp1 = n1 >= i ? num1[n1-i] - '0' : 0;
            int tmp2 = n2 >= i ? num2[n2-i] - '0' : 0;
            int tmp = tmp1 + tmp2;
            if (carry) 
                tmp++;
            res = to_string(tmp % 10) + res;
            carry = tmp / 10;
        }
        if (carry)
            res = '1' + res;
        return res;
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Given two non-negative numbers num1 and num2 represented ...
    AlanGuo閱讀 457評論 0 0
  • 問題: Given two non-negative numbers num1 and num2 represen...
    Cloudox_閱讀 248評論 0 0
  • 問題描述 Given two non-negative numbers num1 and num2 represe...
    如煙花非花閱讀 1,237評論 0 0
  • 距離生娃已經(jīng)有幾個月了,最近這幾個月過得如何,當(dāng)媽的都懂。趁著自己印象還未模糊,記錄下我家布丁報到的流水帳。 關(guān)于...
    慢享生活閱讀 403評論 0 1
  • №12 核算的價值 然而標(biāo)準(zhǔn)的核算形式對于創(chuàng)業(yè)者并沒有意義。新創(chuàng)企業(yè)充滿了變數(shù),很難精確地進(jìn)行計劃并確定明確的階段...
    威樂河灣閱讀 249評論 0 0

友情鏈接更多精彩內(nèi)容