题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
利用pad 思想,将字符串补齐,然后最后考虑是否还有进位
每次新得到的值,放到答案最左边,避免转置
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 计算两个数之和
# @param s string字符串 表示第一个整数
# @param t string字符串 表示第二个整数
# @return string字符串
#
class Solution:
def solve(self , s , t ):
# write code here
slen = len(s)
tlen = len(t)
if slen < 1:
return t
if tlen < 1:
return s
sp = max(tlen, slen)
s = '0' * (sp - slen) + s
t = '0' * (sp - tlen) + t
ans = ''
carry = 0
sp -= 1
while sp >= 0:
carry, val = divmod(int(s[sp]) + int(t[sp]) + carry, 10)
ans = str(val) + ans
sp -= 1
if carry > 0:
ans = str(carry) + ans
return ans