Given two non-negative integers num1
and num2
represented as strings, return the product of num1
and num2
, also represented as a string.
Example 1:
Input: num1 = "2", num2 = "3" Output: "6"
Example 2:
Input: num1 = "123", num2 = "456" Output: "56088"
class Solution {
public:
string multiply(string num1, string num2) {
string str;
int k=num1.size()+num2.size()-2;
vector<int> vec(k+2,0); //从高位定义
for(int i=0;i<num1.size();i++)
for(int j=0;j<num2.size();j++)
vec[k-i-j]+=(num1[i]-'0')*(num2[j]-'0');
int t=0;
for(int i=0;i<k+2;i++)
{
vec[i]=vec[i]+t;
t=vec[i]/10;
vec[i]=vec[i]%10;
}
k=k+1;
while(vec[k]==0) k--;
if(k<0) return "0";
for(int i=k;i>=0;i--)
str.push_back(vec[i]+'0');
return str;
}
};