[LeetCode] Multiply Strings

来源:互联网 发布:项目软件外包交易平台 编辑:程序博客网 时间:2024/05/21 06:53

Given two numbers represented as strings, return multiplication of the numbers as a string.

Note: The numbers can be arbitrarily large and are non-negative.

class Solution {public:    string multiply(string num1, string num2) {        if(num1=="0" || num2=="0") return "0";          int l1 = num1.size(),l2 = num2.size();        int *res = new int[l1 + l2];        memset(res,0,sizeof(int)*(l1 + l2));        string s = "";        for(int i = 0;i < l1;i ++)            for(int j = 0;j < l2;j ++)                res[i + j + 1] += (num1[i] - '0')*(num2[j] - '0');        for(int k = l1 + l2 - 1; k >= 0;k --){            if(k > 0) res[k - 1] += res[k]/10;            res[k] %= 10;            s = char('0' + res[k]) + s;        }        s = s[0] == '0' ? s.substr(1) : s;        return s;    }};


0 0
原创粉丝点击