题目:
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
实例:
输入:head = [1,3,2]
输出:[2,3,1]
分析:
这题比较简单,我们可以用head.next操作读取列表每个值并保存,直到NULL结束,输出所独到的值。还有一种方法是递归,也是不断将head往后移,知道NULL,每次返回head所指的值,最后依次返回这些值,见方法二。
解答:
方法一:
class Solution:
def reversePrint(self, head: ListNode) -> List[int]:
A = []
while head:
A.append(head.val)
head = head.next
return A[::-1]
方法二:
class Solution:
def reversePrint(self, head: ListNode) -> List[int]:
return self.reversePrint(head.next) + [head.val] if head else []