您的位置:首页 > 其它

Binary Tree Level Order Traversal II

2017-07-28 18:13 246 查看
题目详情: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 = None
class 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: