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;
    }
};
相关推荐
宵时待雨12 分钟前
优选算法专题6:模拟
数据结构·c++·算法·leetcode·职场和发展
Liangwei Lin18 分钟前
LeetCode 35. 搜索插入位置
数据结构·算法·leetcode
数智工坊19 分钟前
【经典RL算法】Q-Learning:强化学习的里程碑——从理论到收敛证明的完整解析
论文阅读·人工智能·深度学习·算法·transformer
叼烟扛炮21 分钟前
C++ 知识点19 匿名对象
开发语言·c++·算法·匿名对象
叼烟扛炮26 分钟前
C++ 知识点23 类模板
开发语言·c++·算法·类模版
L_090729 分钟前
【C++】STL— 封装红黑树以实现map 和 set
数据结构·c++
此生决int1 小时前
快速复习之数据结构篇——二叉树(三)
数据结构
djarmy1 小时前
C 标准库 `<stdio.h>` 完整函数清单(官方标准 + 常用全部函数)
c语言·c++·算法
七牛云行业应用1 小时前
NotebookLM 手机版上线了,这份完整指南帮你把它用起来
算法
城事漫游Molly1 小时前
定量研究设计清单:问卷、实验与变量操作化怎么做?
大数据·人工智能·算法·ai写作·论文笔记