HOT 100 › 索引 › B7 链表 Linked List
LC 2两数相加Add Two Numbers 中等
两个非负整数按逆序逐位存于链表,返回表示两者之和的链表。
思路 模拟竖式加法:逐位求和记进位,哑结点建链,注意末位进位。时间 O(max(m,n))。
class Solution: def addTwoNumbers(self, l1, l2): dummy = cur = ListNode() carry = 0 while l1 or l2 or carry: v1 = l1.val if l1 else 0 v2 = l2.val if l2 else 0 carry, val = divmod(v1 + v2 + carry, 10) cur.next = ListNode(val) cur = cur.next l1 = l1.next if l1 else None l2 = l2.next if l2 else None return dummy.next