题目描述:输入一个链表,按链表值从尾到头的顺序返回一个列表。
分析:链表的结构是一边存放值,一边存放下一个位置。自然想到要遍历整个链表。接着自然应该想到确定循环的条件。
构造了一个空列表,使用l.insert()方法将每个链表元素的值插入到列表的0位置。要注意的是正确填入insert()的参数。
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
l = []
head = listNode
while head:
l.insert(0, head.val)
head = head.next
return l