• leetcode[43]Multiply Strings


    Given two numbers represented as strings, return multiplication of the numbers as a string.

    Note: The numbers can be arbitrarily large and are non-negative.

    class Solution {
    public:
    string multiply(string num1, string num2) 
    {
        if(num1=="0"||num2=="0")return "0";
        int len1=num1.size();
        int len2=num2.size();
        int *n1=new int[len1];
        int *n2=new int[len2];
        for (int i=0;i<len1;i++)
        {
            n1[i]=num1[i]-'0';
        }
        for (int i=0;i<len2;i++)
        {
            n2[i]=num2[i]-'0';
        }
        int *res=new int[len1+len2];
        memset(res,0,(len1+len2)*sizeof(int));
        for (int i=len1-1;i>=0;i--)
        {
            for (int j=len2-1;j>=0;j--)
            {
                res[i+j+1]+=n1[i]*n2[j];
            }
        }
        string result="";
        for (int k=len1+len2-1;k>=0;k--)
        {
            if(k>0) res[k-1]+=res[k]/10;
            res[k]%=10;
            result=char(res[k]+'0')+result;
        }
        if(result[0]=='0')return result.substr(1,result.size());
        return result;
    }
    };
  • 相关阅读:
    day09 文件操作
    深信服二面
    test1
    视频测试
    通过独立按键控制LED灯
    第一个LED灯
    为什么我的递归调用次数和书上的不一样?
    函数指针数组
    虚拟内存
    单元测试
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283573.html
Copyright © 2020-2023  润新知