102-二叉树层次遍历

余生颓废 提交于 2019-11-27 19:23:28

题目:按层输出二叉树,每层一行

def levelOrder(root):
    if not root:
        return []
    queue,res = [],[]
    queue.append(root)
    while queue:
        level_size = len(queue)
        current_level = []
        for _ in range(level_size):
            node = queue.pop(0)
            if node.left:
                queue.append(node.left)
            if node.rirht:
                queue.append(node.rirht)
            current_level.append(node.val)
        res.append(current_level)

    return res

注:

使用队列,这里是每层一行,需要再设置一个变量,用来存储每层的节点。当前队列的所有元素即为现层二叉树的所有节点。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!