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;
    }
};
相关推荐
hn小菜鸡5 分钟前
LeetCode 2917.找出数组中的K-or值
数据结构·算法·leetcode
Once_day1 小时前
代码训练LeetCode(34)文本左右对齐
算法·leetcode·c
zhuiQiuMX1 小时前
SQL力扣
数据库·sql·leetcode
tony3651 小时前
强化学习 A2C算法
人工智能·算法
Tess_Blingbling1 小时前
力扣Hoot100 第一天 | 哈希3题
leetcode·哈希算法·散列表
yield-bytes1 小时前
Java并发进阶系列:深度讨论高并发跳表数据结构ConcurrentSkipListMap的源代码实现(上)
数据结构
好易学·数据结构2 小时前
可视化图解算法51:寻找第K大(数组中的第K个最大的元素)
数据结构·python·算法·leetcode·力扣·牛客网·堆栈
电院工程师2 小时前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
bubiyoushang8883 小时前
MATLAB实现图像纹理特征提取
人工智能·算法·matlab
了不起的杰3 小时前
[算法][好题分享][第三大的数][最短无序子数组]
算法