N叉树的层次遍历,最基本的队列实现BFS
/*
// Definition for a Node.
class Node {
public:
int val = NULL;
vector<Node*> children;Node() {}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
vector<vector<int>> levelOrder(Node* root) {
if( root == NULL )return vector<vector<int>>();
vector<vector<int>> res ;
queue<Node*> que;
que.push( root );
while( !que.empty() ){
int si = que.size();
int j = 0;
vector<int> tmp;
for( int i = 0 ; i < si ; i ++ ){
Node* cur = que.front();
que.pop();
tmp.push_back( cur->val );
int l = cur->children.size();
for( int i = 0 ; i < l ; i ++ )que.push( cur->children[ i ]);
}
res.push_back( tmp );
}
return res;
}
};