给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
示例 1:

输入:root = [1,null,3,2,4,null,5,6] 输出:[[1],[3,2,4],[5,6]]
- /*
- // Definition for a Node.
- class Node {
- public:
- int val;
- vector
children; - Node() {}
- Node(int _val) {
- val = _val;
- }
- Node(int _val, vector
_children) { - val = _val;
- children = _children;
- }
- };
- */
-
- class Solution {
- public:
- vector
int>> levelOrder(Node* root) { - queue
que; - vector
int>>ans; -
- if(root == nullptr) return ans;
- que.push(root);
- while(!que.empty()){
- int size = que.size();
- vector<int>res;
- while(size--){
- Node* node = que.front();
- que.pop();
- res.push_back(node->val);
- for(int i = 0;i < node->children.size();i++){
- if(node->children[i]) que.push(node->children[i]);
- }
- }
- ans.push_back(res);
- }
- return ans;
- }
- };