class Solution:
def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:
dummy_head = ListNode(0)
current = dummy_head
carry = 0
while l1 or l2 or carry: # 更正循环条件
val1 = l1.val if l1 else 0
val2 = l2.val if l2 else 0
carry, out_val = divmod(val1 + val2 + carry, 10)
current.next = ListNode(out_val)
current = current.next
if l1: # 更新 l1 如果它不是 None
l1 = l1.next
if l2: # 更新 l2 如果它不是 None
l2 = l2.next
return dummy_head.next
本题的考点是链表的使用,python没有自带的指针,但是可以支持创建类似的结构
注意进位标识符 和 加完之后的链表可能比之前长
这题是用ai写的,