LeetCode:43. 字符串相乘

1、题目描述

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

示例 1:

输入: num1 = "2", num2 = "3"
输出: "6"

示例 2:

输入: num1 = "123", num2 = "456"
输出: "56088"

说明:

  1. num1 和 num2 的长度小于110。
  2. num1 和 num2 只包含数字 0-9
  3. num1 和 num2 均不以零开头,除非是数字 0 本身。
  4. 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理

2、题解

2.1、解法一

class Solution:

    def get_int(self,num):
        ret = 0
        n = len(num)
        i = n-1
        while i>=0:
            ret += int(num[i])*(10**(n-1-i))
            i -= 1

        return ret

    def multiply(self, num1, num2):
        """
        :type num1: str
        :type num2: str
        :rtype: str
        """

        r1 = self.get_int(num1)
        r2 = self.get_int(num2)
        return str(r1*r2)

  

原文地址:https://www.cnblogs.com/bad-robot/p/10065259.html