0
点赞
收藏
分享

微信扫一扫

刷题记录:2. 两数相加

7dcac6528821 2022-02-03 阅读 30

2. 两数相加

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        p1, p2 = l1, l2
        carry = 0
        dummy = res = ListNode()
        
        while p1 or p2:
            val1 = p1.val if p1 else 0
            val2 = p2.val if p2 else 0
            val = val1 + val2 + carry
            carry = int(val // 10)
            bit = val % 10

            dummy.next = ListNode(val = bit, next = None)
            dummy = dummy.next

            p1 = p1.next if p1 else None
            p2 = p2.next if p2 else None
        
        if carry:
            dummy.next = ListNode(val = carry, next = None)
        
        return res.next
举报

相关推荐

0 条评论