class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
stack1, stack2 = deque([]), deque([])
while l1:
stack1.append(l1.val)
l1 = l1.next
while l2:
stack2.append(l2.val)
l2 = l2.next
carry, p = 0, None
while stack1 or stack2 or carry:
num1 = stack1.pop() if stack1 else 0
num2 = stack2.pop() if stack2 else 0
ans = num1 + num2 + carry
carry = ans // 10
ans %= 10
p = ListNode(ans, p)
return p
Leetcode-445 两数相加
最新推荐文章于 2024-09-14 18:52:56 发布
该博客详细介绍了如何通过双端队列(deque)来解决链表相加的问题。代码中,首先将两个链表的节点值依次压入两个双端队列,然后逐位相加并处理进位,最后生成新的链表返回结果。这种方法巧妙地利用了队列的特性,简化了链表操作。
摘要由CSDN通过智能技术生成