题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrarList。
输入输出示例
输入:{6, 0, 24, 58}
返回值:{58, 24, 0, 67}
解题思路
- 使用栈:将输入链表中的值依次按顺序存入一个新的栈空间中,然后将栈中的元素依次出栈,再以列表的形式组织起来即可。
- 从头到尾遍历,逆序输出:
代码示例
- 使用栈的实现
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution():
def printListFromTailToHead(self, listNode):
if listNode == []:
return []
tempStack = []
result = []
while listNode:
tempStack.append(listNode.val)
listNode = listNode.next
while tempStack:
res = tempStack.pop()
result.append(res)
return result
- 从头到尾遍历,逆序输出
def printListFromTailToHead(self, listNode):
ArrayList = []
while listNode:
ArrayList.append(listNode.val)
listNode = listNode.next
return ArrayList[::-1]