题目描述
输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
如输入{1,2,3}的链表如下图:
返回一个数组为[3,2,1],0 <= 链表长度 <= 10000
思考过程:
之前在LeetCode做过这道题,可是现在看到又做不来了,难受。。。
想不起来怎么构造链表了,上次也是 o(╥﹏╥)o
第一反应是,先用list列表存储ListNode的所有值,再reverse返回。需要注意一下终止条件~
注意一下,res.reverse()
可以让res反转,返回值是none哦,不要写成res=res.reverse()
了
class Solution:
def printListFromTailToHead(self , listNode):
res = []
while listNode:
res.append(listNode.val)
if listNode.next == None:
break
listNode = listNode.next
res.reverse()
return res
看了一下答案,其实并不需要if listNode.next == None:
进行判断呀,因为next之后如果是None,已经跳出循环了。