和大数乘法类似,先补齐0,然后使用不进位的加法计算,结果进位,最后去掉首端多余的0.
用例通过率: 100.00% 运行时间: 190ms 占用内存: 12776KB。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# @param s string字符串 第一个整数
# @param t string字符串 第二个整数
# @return string字符串
#
class Solution:
    def solve(self, s, t):
        s = list(map(int, list(s)))
        s.reverse()
        t = list(map(int, list(t)))
        t.reverse()
        k=max(len(s),len(t))
        s+=[0]*(k-len(s))
        t+=[0]*(k-len(t))
        ans = [0]*(k+1)
        for i in range(0, k):
            ans[i] += s[i]+t[i]
        carry = 0
        for i in range(0, len(ans)):
            ans[i] += carry
            carry = int(ans[i]/10)
            ans[i] = str(ans[i] % 10)
        while ans[-1] == '0' and len(ans) > 1:
            ans.pop()
        ans.reverse()
        return ''.join(ans)
        # write code here