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