题解 | #大数加法#

大数加法

https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475?tpId=295&tqId=1061819&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl=%2Fexam%2Foj

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


        s1 = list( map(int,s1))
        s2 = list( map(int,s2))

        maxlength=max(len(s1),len(s2))-1
        minlength=min(len(s1),len(s2))-1
        s3 = [0 for i in range(maxlength+2)]
        

        i=0
        Acc=0
        while i <= minlength:
            if s1[i]+s2[i]+Acc >= 10:
                
                s3[i]= s1[i]+s2[i]+Acc-10
                i+=1
                Acc=1
            else:
                s3[i]= s1[i]+s2[i]+Acc
                Acc=0
                i+=1


        if len(s1)==i:
            while i<=maxlength:
                if s2[i]+Acc >=10:
                    s3[i]=s2[i]+Acc -10
                    Acc=1 
                    i+=1
                else:
                    Acc=0
                    i+=1
        else:
            while i<=maxlength:
                if s1[i]+Acc >10:
                    s3[i]=s1[i]+Acc -10
                    Acc=1 
                    i+=1
                else:
                    Acc=0
                    i+=1
        if Acc==1:
            s3[maxlength+1]=1
        else:
            s3.pop()


        s3 =s3[::-1]
        s3 =list( map(str,s3))
        return (str("".join(s3)))

全部评论

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务