LeetCode 43. Multiply Strings

来源:互联网 发布:mac 音频剪辑 编辑:程序博客网 时间:2024/06/04 23:31

题目链接:

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;}};
原创粉丝点击