LeetCode上的题
给定两个字符串,然后返回这两个字符串的乘积,返回结果可能会很大,所以返回字符串形式。
class Solution {
public:
string multiply(string num1, string num2) {
string res(num1.size()+num2.size(),'0');
int carry = 0;
for(int i = num1.size()-1;i>=0;i--)
{
int a = num1[i]-'0';
for(int j = num2.size()-1;j>=0;j--)
{
int b = num2[j]-'0';
int c = res[i+j+1]-'0';
int d = a*b+c+carry;
res[i+j+1] = d%10+'0';
carry = d/10;
}
if(carry)
{
res[i] = carry+'0';
carry = 0;
}
}
int i =0;
while(i<res.size()&&res[i]=='0')
i++;
return i==res.size()?"0":res.substr(i);
}
};