算法——力扣兩數相加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

運行結果如圖
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章