【python高效解题】Leetcode-102:二叉树的层序遍历

  • Post author:
  • Post category:python



我们的宗旨是:使用最简洁的代码,完成AC:)



题目介绍

**题目难度:**Medium

**题目类型:**tree | breadth-first-search

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。


示例:


二叉树:[3,9,20,null,null,15,7],

在这里插入图片描述

返回其层序遍历结果:

在这里插入图片描述



题目介绍

该题的做题思路紧紧围绕树的层遍历,需要注意维护好输出结果的二维列表ans、当前层节点列表level、下一层节点列表tmp,每层遍历时注意及时更新tmp、level即可:)



python代码

class Solution:
    def levelOrder(self, root: TreeNode) -> List[List[int]]:
        if not root:
            return []
        ans, level = [], [root]
        while level:
            ans.append([node.val for node in level])
            tmp = []
            for node in level:
                tmp.extend([node.left, node.right])
            level = [node for node in tmp if node]
        return ans



版权声明:本文为six_gods原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。