LeetCode:第二题两数相加

计算两个数的和,两个数用数组进行存储
在这里插入图片描述
LeetCode:第二题两数相加_第1张图片

代码

class Solution(object):
    def addTwoNumbers(self, l1, l2):
        len1=len(l1)
        len2=len(l2)    # 两个数组的长度
        n=min(len1,len2)
        m=max(len1,len2)    #找到两个数组长度的最大值和最小值/
        a=0
        
        for i in range(n):      #将最小的数组值加入到大的数组中
            l1[i]=(int)(l1[i]+l2[i]+a)
            if l1[i]<10:        #如果不需要进位,就进入下一为计算
                continue
            l1[i]=(int)(l1[i])%10   #进位赋值
            a=1
            
        a=(int)(l1[n-1]+l2[n-1])/10 #对长数组中的其他位置进行处理,同上
        for i in range(n,m):
            l1[i]=l1[i]+a
            if l1[i]<10:
                return l1
            l1[i]=(int)(l1[i])%10
            a=1
        if a==1:
           l1.append(a)
        return l1

# 主函数
if __name__ == '__main__':
    l1 = [9,9,9,9,9,9,9]
    l2 = [9,9,9,9]
    S=Solution()
    print(S.addTwoNumbers(l1,l2))

你可能感兴趣的:(硕士学习,leetcode,算法,职场和发展)