【剑指offer】反向输出链表【python】
非递归方式,使用栈
class listNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def printListFromTailToHead(self, listNode):
lists = []
while listNode != None:
lists.insert(0, listNode.val)
listNode = listNode.next
return lists
使用栈的话,就可以使用递归的方式
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def __init__(self):
self.lists = []
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
if(listNode != None):
if(listNode.next != None):
self.printListFromTailToHead(listNode.next)
self.lists.append(listNode.val)
return self.lists