题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
方法一:通过栈实现
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here stack = [] while listNode != None: stack.append(listNode.val) listNode = listNode.next ArrayList =[] while stack: ArrayList.append(stack.pop()) return ArrayList
方法二:通过递归实现
# -*- coding:utf-8 -*- #class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here # @listNode: 头结点 if listNode is None: return [] return self.printListFromTailToHead(listNode.next) + [listNode.val]