Description
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
示例 1:
输入: num1 = "2", num2 = "3"
输出: "6"
示例 2:
输入: num1 = "123", num2 = "456"
输出: "56088"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/multiply-strings
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Solution 模拟乘法
class Solution:
def multiply(self
, n1
: str, n2
: str) -> str:
pos
= [0] * (len(n1
) + len(n2
))
for i
in range(len(n1
)-1, -1, -1):
for j
in range(len(n2
)-1, -1, -1):
cur
= pos
[i
+j
+1]
pos
[i
+j
+1] = (cur
+ int(n1
[i
]) * int(n2
[j
])) % 10
pos
[i
+j
] = pos
[i
+j
] + (cur
+ int(n1
[i
]) * int(n2
[j
])) // 10
pos
= [str(n
) for n
in pos
]
for i
in range(len(pos
)):
if pos
[i
] != '0': break
res
= ''.join
(pos
[i
:])
return res
if res
else '0'