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;
    }
};
相关推荐
万象.24 分钟前
redis通用命令与数据结构
数据结构·数据库·redis
凌乱风雨121128 分钟前
从源码角度解析C++20新特性如何简化线程超时取消
前端·算法·c++20
Jim-2ha036 分钟前
【平面几何】判断一个点是否在任意多边形的内部
算法
小宇的天下36 分钟前
Calibre : 一个简单的DRC rule file
数据结构
橘颂TA38 分钟前
【剑斩OFFER】算法的暴力美学——合并 k 个升序链表
算法·leetcode·牛客·结构与算法
前端小L38 分钟前
双指针专题(五):灵活的起跳——「无重复字符的最长子串」
javascript·算法·双指针与滑动窗口
C雨后彩虹44 分钟前
ReentrantLock入门:核心特性与基本使用
java·数据结构·reentrantlock·lock
爪哇部落算法小助手1 小时前
每日两题day67
c++·算法
hk11241 小时前
【BioTech/SystemArch】2026年度高可靠性医疗架构与生物遗传算法基准索引 (Benchmark Index)
算法·系统架构·数据集·生物信息学·垃圾回收
你撅嘴真丑1 小时前
短信计费 和 甲流病人初筛
数据结构·c++·算法