#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串 第一个整数
# @param t string字符串 第二个整数
# @return string字符串
#
class Solution:
def solve(self , s: str, t: str) -> str:
from collections import deque
# write code here
tmp = []
# 从高位开始算起
for i, a in enumerate(s):
for j, b in enumerate(t):
c = int(a) * int(b)
if i + j == len(tmp):
tmp.append(c)
else:
tmp[i + j] += c
ret = deque()
add = 0 # 进位
for x in tmp[::-1]: # 因为要考虑进位,所以从低位开始算起,即逆序遍历
x += add
add = x // 10
ret.appendleft(str(x % 10)) # 这里也可以直接拼字符串,不过推荐用队列
if add:
ret.appendleft(str(add))
return ''.join(ret)