本题给了两个逆序链表代表两个数字,要求将两个数字相加之后,再将结果用逆序链表的形式表示出来。
解题:链表顺序和数字顺序相反,正好按照链表顺序,从数字的个十百千。。。位加过去,大于十则往前进一。
代码:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
res=p=ListNode(0)
x=0
while l1 or l2 or x:
if l1:
x+=l1.val
l1=l1.next
if l2:
x+=l2.val
l2=l2.next
p.next=ListNode(x%10)
p=p.next
x=int(x/10)
return res.next