Python|两数相加python

Python|两数相加python

给你两个 非空 的链表 , 表示两个非负的整数 。 它们每位数字都是按照 逆序 的方式存储的 , 并且每个节点只能存储 一位 数字 。 请你将两个数相加 , 并以相同形式返回一个表示和的链表 。 你可以假设除了数字 0 之外 , 这两个数都不会以 0 开头 。
输入:l1 = [243
l2 = [564
输出:[708
解释:342 + 465 = 807.
classListNode:
def__init__(selfval=0next=None):
self.val=val
self.next=next
classSolution:
defaddTwoNumbers(selfl1:ListNodel2:ListNode)->ListNode:
dummy=p=ListNode(None)
s=0
while l1 or l2 or s!=0:
s += (l1.val if l1 else 0)+(l2.val if l2 else 0)
p.next=ListNode( s%10)
p=p.next
if l1: l1=l1.next
if l2: l2=l2.next
【Python|两数相加python】s=s//10
return dummy.next