题目:
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
思路:
创建两个数组:数组l用来存放链表的原顺序;数组res用来实现反序。用到数组的append()和pop()方法,功能分别为在数组尾端增加元素、删除并且返回数组尾端的一个元素。类似栈
代码:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reversePrint(self, head: ListNode) -> List[int]:
p=head
l=[]
while p:
l.append(p.val)
p=p.next
res=[]
while l:
res.append(l.pop())
return res