class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def level_order_traversal(root): if not root: return [] result = [] #存储遍历结果 queue = [root] 使用队列辅助遍历,初始将根节点加入队列 while queue: level_size = len(queue) 当前层的节点个数 level_nodes = [] 存储当前层的节点值 遍历当前层的节点 for _ in range(level_size): node = queue.pop(0) 弹出队首节点 level_nodes.append(node.val) 将节点值加入当前层的结果列表 将当前节点的左右子节点加入队列 if node.left: queue.append(node.left) if node.right: queue.append(node.right) result.append(level_nodes) 将当前层的节点值列表加入最终结果列表 return result
点赞

相关推荐

见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务