1. 方法一:存储数组,然后翻转输出数组
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param listNode ListNode类
# @return int整型一维数组
#
class Solution:
def printListFromTailToHead(self , listNode: ListNode) :
# write code here
res = []
while listNode :
res.append(listNode.val)
listNode = listNode.next
return res[::-1]
2.方法二:递归翻转数组(Python会出现递归越界的错误)
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param listNode ListNode类
# @return int整型一维数组
#
class Solution:
def printListFromTailToHead(self , listNode: ListNode) -> List[int]:
# write code here
if(listNode == None):
return []
return self.printListFromTailToHead(listNode.next) + [listNode.val]
- 注意在Python中在一个类的方法内部调用自身时,需要使用 self 来引用该实例的方法
- 列表相加可以拼接在一起
