题目链接:
https://leetcode.com/problems/multiply-strings/description/
题解:
直接模拟乘法的运算即可。
代码:
class Solution {
public:
string multiply(string num1, string num2) {
// vector<int>p;
int p[1000];
memset(p,0,sizeof(p));
if(num1=="0"||num2=="0")
return "0";
int len=0;
string x1,x2;
x1="",x2="";
if(num1.size()-1>num2.size()-1)
{
x1=num1;
x2=num2;
}
else
{
x1=num2;
x2=num1;
}
for(int i=(int)x2.size()-1;i>=0;i--)
{
len=x2.size()-1-i;
for(int j=(int)x1.size()-1;j>=0;j--)
{
int x=p[len];
x+=(x2[i]-'0')*(x1[j]-'0');
if(x/10>0)
{
int y=p[len+1];
y+=x/10;
p[len+1]=y;
}
p[len]=x%10;
len++;
}
}
for(int i=len;i<len+10;i++)
{
if(p[len]!=0)
len++;
}
string s="";
for(int i=(int)len-1;i>=0;i--)
s+=p[i]+'0';
return s;
}
};