题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

class Solution:
    def levelOrder(self , root: TreeNode) -> List[List[int]]:
        # write code here
        current_layer_nodes = [root] if root else []
        ret = []
        # 当当前层不为空列表的时候,说明还没有到底层
        while current_layer_nodes:
            curr_result = []
            next_layer_nodes = []
            # 遍历本层的所有节点(来自于上一层的存储)
            for n in current_layer_nodes:
                curr_result.append(n.val)
                # 存储下一层的节点
                if n.left:
                    next_layer_nodes.append(n.left)
                if n.right:
                    next_layer_nodes.append(n.right)
            # 将当前层的结果存入返回的列表中
            ret.append(curr_result)
            # 重置当前层为下一层,往下走。
            current_layer_nodes = next_layer_nodes
        return ret
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务