题目

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
image.png

思路

典型的“后进先出”。从头到尾入栈,再出栈。

代码

  1. # Definition for singly-linked list.
  2. # class ListNode:
  3. # def __init__(self, x):
  4. # self.val = x
  5. # self.next = None
  6. class Solution:
  7. def reversePrint(self, head: ListNode) -> List[int]:
  8. stack = []
  9. while head:
  10. stack.append(head.val)
  11. head = head.next
  12. return stack[::-1]