题解 | #大数加法#

大数加法

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 计算两个数之和
# @param s string字符串 表示第一个整数
# @param t string字符串 表示第二个整数
# @return string字符串
#
class Solution:
    def solve(self , s: str, t: str) -> str:
        # write code here
        if s =="": #特殊情况处理
            return t
        if t =="": #特殊情况处理
            return s

        if len(s)<len(t): #强制选定s为长度的大的进行遍历
            s, t = t, s

        t= t.zfill(len(s)) #给t左侧补0
        carry = 0
        res = []

        for i in range(len(s)-1,-1,-1):
            temp = int(s[i])+carry+int(t[i]) # 关键
            carry = int(temp/10) # 关键,刷新进位
            res.append(str(temp%10)) #关键,刷结果

        if carry == 1: # 最后一次运算有就进位则进位1
            res.append('1')

            
        return "".join(res)[::-1] # 合并列表,逆序返回结果







            

全部评论

相关推荐

05-23 19:33
重庆大学 Java
只学了传统后端,马上去后端实习了,在想要不要学习agent开发相关的。27秋招和26相比难度如何?
我连备胎都不是却还在...:就暑期实习而言,大厂官宣hc 比 26 多,但是我观察看应该低于 26 的,估计秋招也不简单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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