Multiply Strings(math)

Given two non-negative integersnum1andnum2represented as strings, return the product ofnum1andnum2, also represented as a string.

Example 1:

Input:
 num1 = "2", num2 = "3"

Output:
 "6"

Example 2:

Input:
 num1 = "123", num2 = "456"

Output:
 "56088"

Note:

The length of both num1 and num2 is < 110.
Both num1 and num2 contain only digits 0-9.
Both num1 and num2 do not contain any leading zero, except the number 0 itself.
You must not use any built-in BigInteger library or convert the inputs to integer directly.

分析

也可把num1 num2换成数字后直接相乘

class Solution:
    def multiply(self, num1, num2):
        """
        :type num1: str
        :type num2: str
        :rtype: str
        """
        n1 = len(num1)-1
        n2 = len(num2)-1
        sum = 0
        kk = 0
        for i in range(n1,-1,-1):
            subsum = 0
            k = 0
            for j in range(n2,-1,-1):
                subsum += (int(num1[i])*int(num2[j])) * 10**k
                k+=1
            sum += subsum * 10**kk
            kk+=1
        return str(sum)

Last updated