题解 | #大数加法#

大数加法

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)))

全部评论

相关推荐

07-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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