429. N 叉树的层序遍历

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

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

示例 1:

输入:root = [1,null,3,2,4,null,5,6]
输出:[[1],[3,2,4],[5,6]]
示例 2:

输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]

提示:

树的高度不会超过 1000
树的节点总数在 [0, 10^4] 之间

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

分析

分析参考
https://github.com/youngyangyang04/leetcode-master/blob/master/problems/0102.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86.md
在102题的基础上修改,N叉树根的孩子节点是一个集合,需要用集合保存。

题解(Java)

/*
// Definition for a Node.
class Node {public int val;public List<Node> children;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, List<Node> _children) {val = _val;children = _children;}
};
*/class Solution {public List<List<Integer>> levelOrder(Node root) {List<List<Integer>> ans = new ArrayList<>();if (root == null) return ans;Queue<Node> q = new LinkedList();q.offer(root);while (!q.isEmpty()) {List<Integer> record = new ArrayList<>();int size = q.size();while (size > 0) {Node node = q.poll();record.add(node.val);size--;List<Node> children = node.children;if (children == null) continue;for (Node child : children) {if (child != null) q.offer(child);}}ans.add(record);}return ans;}
}

429. N 叉树的层序遍历(中等 树 广度优先搜索)相关推荐

  1. 力扣题目——429. N 叉树的层序遍历

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个 N 叉树,返回其节点值的层序遍历.(即从左到右,逐层遍历). 树的 ...

  2. 429. N 叉树的层序遍历 c++ 队列

    给定一个 N 叉树,返回其节点值的层序遍历.(即从左到右,逐层遍历). 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例). 输入:root = [1,null,3,2,4,nu ...

  3. LeetCode 429. N叉树的层序遍历(queue)

    1. 题目 返回其层序遍历:[[1],[3,2,4],[5,6] ] 2. 解题 queue队列解题 /* // Definition for a Node. class Node { public: ...

  4. 力扣429. N 叉树的层序遍历(JavaScript)

    var levelOrder = function(root) {let arr=[]let qq=[root]if(root==null){return arr}while(qq.length){l ...

  5. LeetCode429. N 叉树的层序遍历

    题目 429. N 叉树的层序遍历 给定一个 N 叉树,返回其节点值的层序遍历.(即从左到右,逐层遍历). 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例). 示例 1: 输入 ...

  6. LeetCode每日一题:N叉树的层序遍历(No.429)

    题目:N叉树的层序遍历 给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 复制代码 示例: 例如,给定一个 3叉树 : 复制代码 返回其层序遍历: [[1],[3,2,4],[ ...

  7. 1533. N叉树的层序遍历

    1533. N叉树的层序遍历   给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] ...

  8. ★LeetCode(429)——N叉树的层序遍历(JavaScript)

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  9. 无向图的深度优先遍历非递归_LeetCode0429: N叉树的层序遍历

    题目介绍 描述: 给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历:[[1],[3,2,4],[5,6] ]说明:树的深度不会超过 ...

  10. 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1

    lt.116. 填充每个节点的下一个右侧节点指针 [案例需求] [思路分析一, 迭代法] [代码实现] /* // Definition for a Node. class Node {public ...

最新文章

  1. 浙江大学《深度学习与行人重识别》课程课件
  2. intent和手势探测
  3. source insight(SI)使用教程
  4. 浏览器网页上的SSH终端webssh:pip install webssh
  5. 「译」 .NET 5 新增的Http, Sockets, DNS 和 TLS 遥测
  6. 数据结构学习(二)——单链表的操作之头插法和尾插法创建链表
  7. 前端学习(3102):vue+element今日头条管理-hello-react案例
  8. 软件项目管理第二课—项目投标准备工作及投标函
  9. javaFx--TableView、combobox的注意事项
  10. C++输入输出操作符重载
  11. 高吞吐低延迟Java应用的垃圾回收优化
  12. 进程间通信------共享内存
  13. 面试官:如何设计出骚气的秒杀系统?
  14. grid@m3#39;s password: Permission denied, please try again.
  15. 【图像配准】基于matlab GUI光流场模型图像配准【含Matlab源码 831期】
  16. 理解证券行业“行业分类
  17. 简述软件黑盒测试的方法,简述什么是黑盒测试方法
  18. 小米线刷包需要解压么_小米6详细的线刷教程,手把手教你降级
  19. android8.0源码下载
  20. 新编计算机组装与维护标准教程,计算机组装与维护标准教程(2015-2018版)

热门文章

  1. indesign怎么查找拼音_Indesign中怎么给汉字加拼音
  2. 区块链学习——HyperLedger-Fabric v0.6环境搭建详细过程
  3. ffmpeg--异常打印
  4. 关于Mysql8.0时区表问题解决
  5. 笔记本共享网络给台式机
  6. Codeforces Gym 100015F Fighting for Triangles 状态压缩DP
  7. 赖美云的认证照_818吴宣仪赖美云杨超越等《创造101》人气女孩旧照,鉴定是否整容~...
  8. c语言句子首单词大写,C语言单词开头大写.docx
  9. 学习笔记——计组—流水线
  10. mac虚拟摄像头插件_macOS平台下虚拟摄像头的研发总结