题解 | #大数加法#
大数加法
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 计算两个数之和 # @param s string字符串 表示第一个整数 # @param t string字符串 表示第二个整数 # @return string字符串 # # 与链表的加法相似,将两个字符串逆序后从低位开始相加 # 最后要转换成字符串形式输出 class Solution: def solve(self , s: str, t: str) -> str: tempS = s[::-1] tempT = t[::-1] m, n = len(s), len(t) if m < n: tempS, tempT = tempT, tempS m, n = n, m ans = [0 for _ in range(m+1)] for i in range(n): temp = int(tempS[i]) + int(tempT[i]) + ans[i] ans[i] = str(temp % 10) ans[i+1] += temp // 10 for i in range(n, m): temp = int(tempS[i]) + ans[i] ans[i] = str(temp % 10) ans[i+1] += temp // 10 if ans[-1] == 0: ans.pop() else: ans[-1] = str(ans[-1]) return ''.join(ans[::-1])