6.从尾到头打印列表 | python

从尾到头打印链表

http://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035

  1. 利用栈
class Solution:
    # 返回从尾部到头部的列表值序列,例如[1,2,3]
    def printListFromTailToHead(self, listNode):
        # write code here
        a = []
        b = []
        while listNode:
            a.append(listNode.val)
            listNode = listNode.next
        while a :
            b.append(a.pop())
        return b 
  1. 利用递归
    递归代码虽然简洁,但是当链表非常长的时候,就会导致函数调用的层级很深,从而导致函数调用栈溢出,用栈实现的鲁棒性要好一点。
    class Solution:
     # 返回从尾部到头部的列表值序列,例如[1,2,3]
     def printListFromTailToHead(self, listNode):
         # write code here
         a = []
         if not listNode:
             return a
         def helper(listNode):
             if listNode.next:
                 helper(listNode.next)
             return a.append(listNode.val)
         helper(listNode)
         return a 
全部评论

相关推荐

唯一的大厂有希望的 还挂了 真的难受啊😭 这就是双非的命了 虽然我已经提前做好准备了
紧勾追:放平心态叭www,我快手两轮都终面挂,字节也终面挂。后续等别人签完还有一些hc释放的
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 C++
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务