leetcode2兩數相加
阿新 • • 發佈:2018-11-10
給定兩個非空連結串列來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回一個新的連結串列。
你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807’’’
‘’’
class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ if l1 is None: return l2 if l2 is None: return l1 tmp = ListNode(0) res = tmp flag = 0 while l1 or l2: tmpsum = 0 if l1: tmpsum = l1.val l1 = l1.next if l2: tmpsum += l2.val l2 = l2.next tmpres = ((tmpsum + flag) % 10) flag = ((tmpsum + flag) // 10) res.next = ListNode(tmpres) res = res.next if flag: res.next = ListNode(1) res = tmp.next del tmp return res