给你二叉树的根节点 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
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
queue<TreeNode*>q;
vector<vector<int>>sum; //vector<xxx>yyy 将yyy 定义为xxx类型 默认为初始值
int num=1;
if(root==NULL) return sum;
q.push(root);
while(!q.empty())
{
num=q.size();
vector<int>temp;
while(num) //获取某层数量个数
{
if(q.front()!=NULL)
{
temp.push_back(q.front()->val);
q.push(q.front()->left);
q.push(q.front()->right);
}
q.pop();
num--;
}
if(!temp.empty())
sum.push_back(temp);
}
return sum;
}
};