zoukankan      html  css  js  c++  java
  • 43. Multiply Strings字符串相乘

    网址:https://leetcode.com/problems/multiply-strings/submissions/

    参考:https://leetcode.com/problems/multiply-strings/discuss/17605/Easiest-JAVA-Solution-with-Graph-Explanation

    把乘法分解为最最基础的加法,从后往前循环。

    class Solution {
    public:
        string multiply(string num1, string num2) {
            int siz1 = num1.size(), siz2 = num2.size();
            if(num1 == "0" || num2 == "0")
                return "0";
            vector<int> sums(siz1+siz2, 0);
            int mul = 0;
            int p1, p2;
            int sum;
            string ans = "";
            for(int i = siz1-1; i>=0; i--)
            {
                for(int j = siz2-1; j>=0; j--)
                {
                    mul = (int)(num1[i]-'0') * (int)(num2[j]-'0');
                    p1 = i+j;
                    p2 = i+j+1;
                    sum = sums[p2] + mul;
                    sums[p1] += sum / 10;
                    sums[p2] = sum % 10;
                }
            }
            for(auto i : sums)
            {
                ans.append(to_string(i));
            }
            if(ans[0] == '0')
                ans = ans.substr(1, ans.size()-1);
            return ans;
        }
    };

  • 相关阅读:
    打印水仙花数
    ios9基础知识总结(一)
    简单工厂模式自我理解
    例子
    委托
    IO 磁盘总结
    配置文件命令
    三层架构dal 层基本代码 非查询/查询
    三层架构自我总结
    三层架构源代码
  • 原文地址:https://www.cnblogs.com/tornado549/p/10679487.html
Copyright © 2011-2022 走看看