本文主要是介绍[牛客网刷题 Day1] JZ6 从尾到头打印链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
如输入{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:breaklistNode = listNode.nextres.reverse()return res
看了一下答案,其实并不需要if listNode.next == None:
进行判断呀,因为next之后如果是None,已经跳出循环了。
这篇关于[牛客网刷题 Day1] JZ6 从尾到头打印链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!