题目来源:
leetcode题目,网址:429. N 叉树的层序遍历 - 力扣(LeetCode)
解题思路:
广度优先,逐层遍历即可。
解题代码:
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val) {
val = _val;
}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
vector<vector<int>> levelOrder(Node* root) {
vector<vector<int>> res;
if(root==nullptr){
return res;
}
queue<Node*> myQueue;
myQueue.push(root);
while(myQueue.size()!=0){
vector<int> thisLevel;
int size=myQueue.size();
for(int i=0;i<size;i++){
Node* temp=myQueue.front();
myQueue.pop();
thisLevel.push_back(temp->val);
vector<Node*> chil=temp->children;
for(int j=0;j<chil.size();j++){
myQueue.push(chil[j]);
}
}
res.push_back(thisLevel);
}
return res;
}
};
总结:
官方题解也是一样的解法。