题解 | #大数加法#

大数加法

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
全部评论

相关推荐

点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务