题解 | #大数乘法#

大数乘法

https://www.nowcoder.com/practice/c4c488d4d40d4c4e9824c3650f7d5571

class Solution {
public:
    string solve(string s, string t) {
        string res;
        int tmp=0;
        reverse(begin(s),end(s));                   //反转数组,从低位开始计算
        reverse(begin(t),end(t));
        vector<int> v(s.size()+t.size());           //初始化size(s+t)个0

        for(int i=0;i<s.size();i++){                //将同位两数之积加到同一数组位
            for(int j=0;j<t.size();j++){
                v[i+j]+=(s[i]-'0')*(t[j]-'0');
            }
        }
        for(auto& i:v){                             //遍历数组
            tmp+=i;
            res+=tmp%10+'0';                        //将数组中元素放入对应字符串位置
            tmp/=10;
        }

        while(res.size()>1&&res.back()=='0')res.pop_back(); //删除字符串前多余的0
        reverse(begin(res),end(res));
        return res;
    }
};

全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务