[LeetCode]43 字符串相乘

题目描述

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

示例1:

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

示例2:

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

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution:
def multiply(self, num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
d = {'0':0, '1':1, '2':2, '3':3, '4':4,
'5':5, '6':6, '7':7, '8':8, '9':9}

num1_int = 0
for i in range(len(num1)):
num1_int += d[num1[i]] * 10 ** (len(num1)-1-i)

num2_int = 0
for i in range(len(num2)):
num2_int += d[num2[i]] * 10 ** (len(num2)-1-i)

return str(num1_int * num2_int)