class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
carry = 0
#用n为标记向下添加
#root标记初始节点
root = n = ListNode(0)
while l1 or l2 or carry:
v1 = v2 = 0
# 取当前位,若l为none,则取v为0
# 否则取值,且找下一节点
if l1:
v1 = l1.val
l1 = l1.next
if l2:
v2 = l2.val
l2 = l2.next
# a//b(商)以及a%b(余数),返回结果类型为tuple
# 取当前位,并查看下一位是否进位
carry, val = divmod(v1+v2+carry, 10)
# 记录当前值,并指下一位
# 用ListNode创建新的节点
n.next = ListNode(val)
n = n.next
return root.next
2. Add Two Numbers
最新推荐文章于 2024-01-03 15:29:28 发布