剑指offer官方题解 (python)

从尾到头打印链表

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

class Solution:
    # 返回从尾部到头部的列表值序列,例如[1,2,3]
    def printListFromTailToHead(self, listNode):
        # write code here
        # 方法一  使用栈
        if not listNode:
            return []
        temp = []
        result = []
        while listNode: 
            temp.append(listNode.val) # 进栈
            listNode = listNode.next
        while temp:
            result.append(temp.pop()) # 出栈
        return result

            # 方法二  使用递归
        result = []
        def solutions(Node):
            if Node:
                solutions(Node.next)
                result.append(Node.val)
        solutions(listNode)
        return result

        # 方法三 使用从头到尾遍历,逆序输出
        result = []
        while listNode:
            result.append(listNode.val)
            listNode = listNode.next
        return result[::-1]
全部评论

相关推荐

伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
32 9 评论
分享
牛客网
牛客企业服务