首页 > 其他分享 >429. N 叉树的层序遍历(中)

429. N 叉树的层序遍历(中)

时间:2023-12-22 20:44:26浏览次数:33  
标签:res1 遍历 cur 层序 429 节点 append

目录

题目

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

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

题解:BFS

class Solution:
    def levelOrder(self, root: 'Node') -> List[List[int]]:
        if not root:
            return []
        res=[]# 存储最终的层次遍历结果
        q=[] #用列表做队列
        q.append(root)# 将根节点添加到队列中
        while q:
            size=len(q)
            res1=[]# 存储当前层的节点值
            for _ in range(size):
                cur=q.pop(0)#取对头的结点
                res1.append(cur.val)#加入当前层的列表里
                if cur.children:# 将当前节点的子节点添加到队列中
                    q.extend(cur.children)
            res.append(res1)#每一层的列表加到最终结果列表里 
        return res

标签:res1,遍历,cur,层序,429,节点,append
From: https://www.cnblogs.com/lushuang55/p/17922327.html

相关文章

  • 107. 二叉树的层序遍历 II(中)
    目录题目题解:BFS题目给你二叉树的根节点root,返回其节点值自底向上的层序遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)题解:BFS用BFS把每层的结点存在一个单独的列表里,最后翻转整个结果列表classSolution:deflevelOrderBottom(self,root:Op......
  • 103. 二叉树的锯齿形层序遍历(中)
    目录题目题解:BFS题目给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。题解:BFS用BFS把每一层的结点存在一个列表里面,然后判断一下如果是偶数层就翻转列表,最后都加入结果列表返回即可classSo......
  • Java中的page集合的遍历(取值/赋值)
    Page<FwSjJbEntity>page1=newPage<>(page,pageSize);LambdaQueryWrapper<FwSjJbEntity>queryWrapper=newLambdaQueryWrapper<>();Page<FwSjJbEntity>jbEntityPage=newPage<FwSjJbEntity>();if(name==null||name.equals......
  • 图(树)的广度优先遍历bfs
    图的广度优先遍历广度优先遍历,就是在遍历时优先考虑遍历的广度,不像深度优先那样一条路径遍历到底,而是一层一层的遍历。由于广度优先是一层一层节点的遍历,在图的边权值都为1的情况下,若我们要求出节点a到节点b的最短路,就可以以a为源点(source)进行广搜,当a第一次搜到b时,其路径一......
  • 图(树)的深度优先遍历dfs
    图的深度优先遍历深度优先,即对于一个图或者树来说,在遍历时优先考虑图或者树的单一路径的深度。示意图如下即深度优先搜索的核心就是对一个路径一直向下搜索,当搜索到头时就回溯到前一状态再寻找别的路深搜问题一般有两种情况,一种是搜索时元素只能用有限次,这需要我们定义一......
  • Fastjson2基础使用以及底层序列化/反序列化实现探究
    来自于:https://www.cnblogs.com/6b7b5fc3/p/17134421.html1Fastjson2简介Fastjson2是Fastjson的升级版,特征:协议支持:支持JSON/JSONB两种协议部分解析:可以使用JSONPath进行部分解析获取需要的值语言支持:Java/Kotlin场景支持:Android8+/服务端其他特性支持:GraalNative-Image......
  • 21_从中序与后序遍历序列构造二叉树
    106.从中序与后序遍历序列构造二叉树给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]......
  • 集合遍历方式
    packagebackend01;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;publicclassPractice05{publicstaticvoidmain(String[]args){Collection<String>list=newArrayList<>();//Collection是个接......
  • C++ 反向遍历 array 小记
    有时候需要逆向循环,例如从字符串的最右端遍历到最左端,需要注意一些细节!初学遇到一些bug记录在这里。首先arr.size()的数据类型为size_t,为无符号整型对于for(intidx=arr.size()-1;idx>=0;idx--):使用int作为idx的类型,有一定概率会编译失败,因为size_t的具......
  • 使用遍历后数据加入新的div块中
    我们经常使用的数据他会成一个整体放入块中,但我们有时需要将他们分开使用,让他们展示在不同的div块中。所以就有了今天这篇博文。我们经常使用的遍历是这样的vararr=[5,3,8,2,4,9,6]for(vari=0;i<=a.length-1;i++)但我们遍历以后怎么去给他放入新的div块中呢所以我们要创......