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;
    }
相关推荐
YuTaoShao44 分钟前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
程序员张31 小时前
SpringBoot计时一次请求耗时
java·spring boot·后端
llwszx4 小时前
深入理解Java锁原理(一):偏向锁的设计原理与性能优化
java·spring··偏向锁
云泽野4 小时前
【Java|集合类】list遍历的6种方式
java·python·list
二进制person5 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6665 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way5 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
小阳拱白菜6 小时前
java异常学习
java
.30-06Springfield6 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
FrankYoou7 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker