大数加法

last modify

问题简述

以字符串的形式读入两个数字,计算它们的和,以字符串形式返回。

大数加法_牛客题霸_牛客网

思路

  • 把较短的字符串通过补前缀 0 使长度一致,此时只要处理好进位即可;

Python
class Solution:
    def solve(self , s: str, t: str) -> str:
        # write code here
        n, m = len(s), len(t)
        if n < m:  # 确保 n >= m
            s, t = t, s
            n, m = m, n
            
        t = '0' * (n - m) + t  # 补0
        
        ret = ''
        ex = 0  # 进位标志
        for i in range(n - 1, -1, -1):
            r = int(s[i]) + int(t[i]) + ex
            ret = str(r % 10) + ret
            ex = r // 10
            
        if ex:
            ret = '1' + ret
        
        return ret

Last updated