Leetcode 429:N叉树的层次遍历

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

思路:利用层次遍历的模板,直接遍历N叉树

java 复制代码
public List<List<Integer>> levelOrder(Node root) {
        List<List<Integer>> result=new ArrayList<>();
        Queue<Node> queue=new LinkedList();
        if(root!=null) queue.add(root);
        while (!queue.isEmpty()){
            int size=queue.size();
            List<Integer> list=new ArrayList();
            for (int i=0;i<size;i++){
                Node node=queue.poll();
                list.add(node.val);
                if(node.children==null) continue;
                for(int j=0;j<node.children.size();j++){
                    queue.add(node.children.get(j));
                }
            }
            result.add(list);
        }
        return result;
    }
相关推荐
新晓·故知4 分钟前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
总裁余(余登武)14 分钟前
算法竞赛(Python)-万变中的不变“随机算法”
开发语言·python·算法
Eric.Lee202126 分钟前
音频文件重采样 - python 实现
人工智能·python·深度学习·算法·audio·音频重采样
小比卡丘33 分钟前
C语言进阶版第17课—自定义类型:联合和枚举
android·java·c语言
gorgor在码农33 分钟前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
一个不知名程序员www36 分钟前
leetcode第189题:轮转数组(C语言版)
c语言·leetcode
xmh-sxh-131439 分钟前
java 数据存储方式
java
huapiaoy1 小时前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
liu_chunhai1 小时前
设计模式(3)builder
java·开发语言·设计模式
冷白白1 小时前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法