Binary Tree Level Order Traversal II

来源:互联网 发布:锐步鞋子怎么样 知乎 编辑:程序博客网 时间:2024/06/04 18:05

题目详情:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/tabs/description

提交的时候,出现了Line 51: AttributeError: ‘Solution’ object has no attribute ‘levelOrderBottom’。不知道是为什么。后来一点点的复制过去才解决的。还删了些注释。
本题和https://leetcode.com/problems/binary-tree-level-order-traversal/tabs/description/相似,只是在添加某一层次的数据的时候,不添加在最后了,而是总是添加到levelOrder的最前边,即levelOrder[0]的位置上。同一层次上的数据,还是添加到该层次的list的最后。

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def levelOrderBottom(self, root):        """        :type root: TreeNode        :rtype: List[List[int]]        """        if  root == None:            return []        #到循环之前都是进行初始化        levelOrder=[] #存储节点的层次遍历节点值        listTree=[root] #存储层次遍历的节点,模拟队列        level=[1] #存储节点的层次        front=0        while front != len(listTree):            temp=listTree[front]            if level[front] > len(levelOrder):                li=[temp.val]                levelOrder.insert(0,li)            else:                 levelOrder[0].append(temp.val)            if temp.left!=None:                listTree.append(temp.left)                level.append(level[front]+1)            if temp.right!=None:                listTree.append(temp.right)                level.append(level[front]+1)            front=front+1        return levelOrder
原创粉丝点击