N叉树的层序遍历-力扣

本题同样是二叉树的层序遍历的扩展,只不过二叉树每个节点的子节点只有左右节点,而N叉树的子节点是一个数组,层序遍历到一个节点时,需要将这个节点的子节点数组的每个节点都入队。

代码如下:

cpp 复制代码
/*
// 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>> result;
        queue<Node*> que;
        if(root != nullptr){
            que.push(root);
        }
        while(!que.empty()){
            int size = que.size();
            vector<int> vec;
            for(int i = 0; i < size; i++){
                Node * cur = que.front();
                que.pop();
                vec.push_back(cur->val);
                for(int j = 0; j < cur->children.size(); j++){
                    if(cur->children[j] != nullptr) {
                        que.push(cur->children[j]);
                    }
                }
            }
            result.push_back(vec);
        }
        return result;
    }
};
相关推荐
沙白猿几秒前
代码随想录 28(动态规划)
算法·动态规划
流年如夢2 分钟前
顺序表 -->增、删、查、改等详细操作
c语言·数据结构
wuweijianlove6 分钟前
算法复杂度与工程性能的双重度量体系技术7
算法
wilbertzhou10 分钟前
华为4A架构中的信息架构设计方法:从数据资源到战略资产的治理之道
数据结构·togaf·企业架构·4a架构
小年糕是糕手11 分钟前
【C/C++刷题集】栈、stack、队列、queue核心精讲
c语言·开发语言·数据结构·数据库·c++·算法·蓝桥杯
隔壁大炮12 分钟前
CNN图像分类案例
人工智能·pytorch·python·深度学习·算法·分类·cnn
始三角龙19 分钟前
LeetCode hoot 100 -- 最小覆盖子串
算法·leetcode·职场和发展
小年糕是糕手19 分钟前
【C/C++刷题集】顺序表、vector、链表、list核心精讲
c语言·开发语言·数据结构·c++·算法·leetcode·蓝桥杯
天上的光21 分钟前
算法——概述
算法
水木流年追梦22 分钟前
CodeTop Top 300 热门题目10-验证IP地址
python·网络协议·tcp/ip·算法·leetcode