![LeetCode 429 N叉树的层次遍历[BFS] HERODING的LeetCode之路,第1张 LeetCode 429 N叉树的层次遍历[BFS] HERODING的LeetCode之路,第1张](/aiimages/LeetCode+429+N%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E6%AC%A1%E9%81%8D%E5%8E%86%5BBFS%5D+HERODING%E7%9A%84LeetCode%E4%B9%8B%E8%B7%AF.png)
解题思路:
非常常规的一道N叉树层次遍历问题,略微修改一下二叉树层次遍历的BFS模板就可以轻松解决,代码如下:
/*
// 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<vector<int>> levelOrder(Node* root) {
vector<vector<int>> res;
if(root == nullptr) return res;
queue<Node*> q;
q.push(root);
while(!q.empty()) {
int n = q.size();
vector<int> temp;
for(int i = 0; i < n; i ++) {
Node* node = q.front();
q.pop();
temp.push_back(node->val);
for(auto& child : node->children) {
q.push(child);
}
}
res.push_back(move(temp));
}
return res;
}
};```
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)