Multiply Strings And Add Strings

43. Multiply Strings

图解

string multiply(string num1, string num2) {
    string sum(num1.size() + num2.size(), '0');
    
    for (int i = num1.size() - 1; 0 <= i; --i) {
        int carry = 0;
        for (int j = num2.size() - 1; 0 <= j; --j) {
            int tmp = (sum[i + j + 1] - '0') + (num1[i] - '0') * (num2[j] - '0') + carry;
            sum[i + j + 1] = tmp % 10 + '0';
            carry = tmp / 10;
        }
        sum[i] += carry;
    }
    
    size_t startpos = sum.find_first_not_of("0");
    if (string::npos != startpos) {
        return sum.substr(startpos);
    }
    return "0";
}

415. Add Strings

class Solution {
public:
string addStrings(string num1, string num2) {
    int i = num1.size() - 1;
    int j = num2.size() - 1;
    int carry = 0;
    string res = "";
    while(i>=0 || j>=0 || carry){
        long sum = 0;
        if(i >= 0){sum += (num1[i] - '0');i--;}
        if(j >= 0){sum += (num2[j] - '0');j--;}
        sum += carry; 
        carry = sum / 10;
        sum = sum % 10;
        res =  res + to_string(sum);
    }
    reverse(res.begin(), res.end());
    return res;
}
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,604评论 0 3
  • Python https://www.codecademy.com/learn/python Python Syn...
    无良之徒阅读 3,848评论 0 0
  • 昨天下午出去办事,回来的时候偷懒,去了路上的一座公园,转了一个多小时,拍了几张,算是散心了,可是回去的时候觉得好像...
    至简从心阅读 8,535评论 88 110
  • 两三个月的小奶娃,除了吃就是睡,还有就是哭。哭是其最大的武器。 白天哭,晚上哭,三更半夜还能哭。家里哭,外头哭。不...
    大琼阅读 1,605评论 0 0
  • 6/6 无论这个世界如何,我们每个人都不过仅仅是一个与它擦肩而过的过客,但即使如此,你依然可以深情而宽容的看着它,...
    凤凰未涅槃阅读 876评论 0 0