题目:
思路+代码:
class Solution:
def reversePrint(self, head: ListNode) -> List[int]:
# 递归
# 思路:定义一个子函数可以调用的全局变量,使用递归直到尾结点,然后从后往前把值加入list
save = []
if not head:
return save
def reverseP(head):
nonlocal save
if not head:
return head
head_next = reverseP(head.next)
save.append(head.val)
head = reverseP(head)
return save
# 非递归
# 思路:从头到尾遍历链表,添加链表值到list,再使用list.reverse()反正list中元素
save = []
if not head:
return save
while head:
save.append(head.val)
head = head.next
save.reverse()
return save