算法——力扣两数相加Python解法

力扣两数相加Python解法

直接上代码

class Solution(object):
    def addTwoNumbers(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        lret = ListNode(0)
        carryNum = 0
        iterNode = lret
        iterL1 = l1
        iterL2 = l2
        while True:
            number = (iterL1.val if iterL1 else 0) + (iterL2.val if iterL2 else 0) + carryNum
            stopNum = number % 10
            carryNum = number / 10
            iterNode.val = stopNum
            iterL1 = iterL1.next if iterL1 else None
            iterL2 = iterL2.next if iterL2 else None
            if not iterL1 and not iterL2 and carryNum == 0:
                break
            else:
                nextNode = ListNode(0)
                iterNode.next = nextNode
                iterNode = nextNode
        return lret

运行结果如图
在这里插入图片描述

发布了6 篇原创文章 · 获赞 31 · 访问量 6734

猜你喜欢

转载自blog.csdn.net/qq_43764365/article/details/92840232
今日推荐