class Solution {
public:
string multiply(string num1, string num2) {
int len1=num1.size();
int len2=num2.size();
vector<int> pro(len1+len2);
string ans="";
for(int i=len1-1;i>=0;i--)
{
for(int j=len2-1;j>=0;j--)
{
int tmp=(num1[i]-'0')*(num2[j]-'0')+pro[i+j+1];
pro[i+j]+=tmp/10;//此处有+=
pro[i+j+1]=tmp%10;//此处没有+=,因为上上行加过了
}
}
for (auto v:pro) {
if (ans.size() != 0 || v != 0)
ans += to_string(v);
}
return ans.size() == 0?"0":ans;
}
public:
string multiply(string num1, string num2) {
int len1=num1.size();
int len2=num2.size();
vector<int> pro(len1+len2);
string ans="";
for(int i=len1-1;i>=0;i--)
{
for(int j=len2-1;j>=0;j--)
{
int tmp=(num1[i]-'0')*(num2[j]-'0')+pro[i+j+1];
pro[i+j]+=tmp/10;//此处有+=
pro[i+j+1]=tmp%10;//此处没有+=,因为上上行加过了
}
}
for (auto v:pro) {
if (ans.size() != 0 || v != 0)
ans += to_string(v);
}
return ans.size() == 0?"0":ans;
}
};
leetcode又不知道抽什么风,暂时保存一下