Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 863 Bytes

34. 二叉树的层序遍历.md

File metadata and controls

33 lines (28 loc) · 863 Bytes

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

algo16

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root:
            return None
        #队列+BFS
        queue = [root]
        res = []

        while queue:
            n = len(queue)
            level = []
            #遍历该层所有节点
            for i in range(n):
                node = queue.pop(0)
                level.append(node.val)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    level.append(node.right)
            res.append(level)
        return res