题解 | #大数加法#

大数加法

https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

class Solution:
    def solve(self, s: str, t: str) -> str:
        # 反转字符串,使得可以从最低位开始相加
        s, t = s[::-1], t[::-1]
        result = []
        carry = 0

        # 逐位相加,并处理进位
        i, j = 0, 0
        while i < len(s) or j < len(t) or carry:
            digit_s = int(s[i]) if i < len(s) else 0
            digit_t = int(t[j]) if j < len(t) else 0
            total = digit_s + digit_t + carry
            carry = total // 10
            digit = total % 10
            result.append(str(digit))
            i += 1
            j += 1

        # 反转结果字符串并返回
        return "".join(result[::-1])

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务