Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 722 Bytes

2.md

File metadata and controls

32 lines (28 loc) · 722 Bytes

题目地址

https://leetcode-cn.com/problems/add-two-numbers/

解答

# Definition for singly-linked list.
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None


def addTwoNumbers(l1: ListNode, l2: ListNode):
    """ 链表两数相加 """
    dummy_head = ListNode(0)
    p, q, curr, carry = l1, l2, dummy_head, 0
    while p or q:
        x = p.val if p else 0
        y = q.val if q else 0
        sum1 = carry + x + y
        carry = sum1 // 10
        curr.next = ListNode(sum1 % 10)
        curr = curr.next
        if p:
            p = p.next
        if q:
            q = q.next
    if carry > 0:
        curr.next = ListNode(carry)

    return dummy_head.next