这是我写的,比较啰嗦
class Solution:
def addTwoNumbers(self, l1, l2):
p1=l1
p2=l2
jin=0
cur=ListNode(0)
p=cur
while p1 or p2:
if jin==1:
cur.val+=1
else:
cur.val=0
cur.val+=(p1.val if p1 else 0)+(p2.val if p2 else 0)
if cur.val>=10:
cur.val%=10
jin=1
else:
jin=0
if p1:
p1 = p1.next
if p2:
p2 = p2.next
if p1 or p2:
cur.next=ListNode(0)
cur=cur.next
if jin==1:
cur.next=ListNode(1)
return p
执行结果:
这是题解里的答案:
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
dummy = p = ListNode(None)
s = 0
while l1 or l2 or s:
s += (l1.val if l1 else 0) + (l2.val if l2 else 0)
p.next = ListNode(s % 10)
p = p.next
s //= 10
l1 = l1.next if l1 else None
l2 = l2.next if l2 else None
return dummy.next
提交结果: