给你二叉树的根节点 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode *root) {
if (root == nullptr)
return {};
vector<vector<int>> ans;
queue<TreeNode *> q;
q.push(root);
while (!q.empty()) {
vector<int> mid;
int len = q.size();
for (int i = 0; i < len; i++) {
TreeNode *cur = q.front();
q.pop();
if (cur->left != nullptr)
q.push(cur->left);
if (cur->right != nullptr)
q.push(cur->right);
mid.push_back(cur->val);
}
ans.push_back(mid);
}
return ans;
}
};