题目描述
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)
示例
输入:head = [1, 3, 2]
输出:[2, 3, 1]
代码
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def reversePrint(self, head):
# # 法一 利用栈
# stack = []
# while head:
# stack.append(head.val)
# head = head.next
# return stack[::-1]
# # 法二 递归
if not head:
return []
return self.reversePrint(head.next) + [head.val]
def main():
S = Solution()
s = list(map(int, input().split()))
head = ListNode(s[0])
r = head
p = head
for i in s[1:]:
node = ListNode(i)
p.next = node
p = p.next
res = S.reversePrint(r)
print(res)
main()