题目
题目描述
给你二叉树的根节点 root ,返回其节点值的层序遍历 。 (即逐层地,从左到右访问所有节点)。
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
示例 2:
输入:root = [1]
输出:[[1]]
示例 3:
输入:root = []
输出:[]
提示:
树中节点数目在范围 [0, 2000] 内
-1000 <= Node.val <= 1000
题解
解题思路
为了实现二叉树的层序遍历(广度优先搜索),我们可以使用队列数据结构来帮助我们逐层访问每个节点。具体步骤如下:
- 如果根节点为空,直接返回空列表。
- 初始化一个队列,并将根节点加入队列中。
- 开始循环处理队列中的节点,直到队列为空:
- 对于每一层,记录当前队列的长度(即该层的节点数)。
- 初始化一个临时列表来存储当前层的所有节点值。
- 遍历当前层的所有节点:从队列中取出节点,记录其值,并将其非空的左右子节点依次加入队列。