跳过正文
  1. leetcode 题解/

102_二叉树的层序遍历

·70 字·1 分钟

类型:树

    1. 二叉树的层序遍历 💛

    https://leetcode-cn.com/problems/binary-tree-level-order-traversal/

    ❓ 给你一个二叉树,返回其层序遍历结果(二维数组)。

    示例:

    二叉树:[3,9,20,null,null,15,7],
    
    3
    / \
    9  20
    /  \
    15   7
    
    结果:
    [
    	[3],
    	[9,20],
    	[15,7]
    ]

    💡 BFS

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

    时间复杂度:O(n),空间复杂度:O(n)