429. N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个
3叉树:返回其层序遍历:
[[1],[3,2,4],[5,6]]
说明:
- 树的深度不会超过
1000。- 树的节点总数不会超过
5000。
代码实现
#include<queue>class Solution {public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> resVec;queue<Node*> myqueue;vector<int> layerVec;if(root == NULL)return resVec;myqueue.push(root);Node* ele;while(!myqueue.empty()){vector<int> layerVec;for(int layerNums=myqueue.size();0<layerNums;layerNums--){ele = myqueue.front();for(int i=0;i<ele->children.size();i++){myqueue.push(ele->children[i]);}layerVec.push_back(ele->val);myqueue.pop();}resVec.push_back(layerVec);}return resVec;}};
返回其层序遍历: