102 二叉树层序遍历

102 二叉树层序遍历层序遍历,每次层的输出是是一个一维数组,整个二叉树的输出结果是二维数组BFS遍历,依托于队列结构,每次在根节点出栈的时候,将其值加在结果列表中,然后将他的左右孩子节点入队列。层序遍历相对于BFS,需要知道每一层有多少个节点。因此,我们需要稍微修改一下代码,在每一层遍历开始前,先记录队列中的结点数量nn(也就是这一层的结点数量),然后一口气处理完这一层的n个结点。classSolution:deflevelOrder(self,root:TreeNode):.

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述

层序遍历,每次层的输出是是一个一维数组,整个二叉树的输出结果是二维数组
在这里插入图片描述
BFS遍历,依托于队列结构,每次在根节点出栈的时候,将其值加在结果列表中,然后将他的左右孩子节点入队列。
层序遍历相对于BFS,需要知道每一层有多少个节点。

因此,我们需要稍微修改一下代码,在每一层遍历开始前,先记录队列中的结点数量 nn(也就是这一层的结点数量),然后一口气处理完这一层的 n 个结点。参考

class Solution:
    def levelOrder(self, root: TreeNode):
        r = []
        if not root:return r
        quee = [root]
        while quee:
            temp = []
            k = len(quee)# 当前层右多少个节点
            for i in range(k):
                root = quee.pop(0)
                temp.append(root.val)
                if root.left:quee.append(root.left)
                if root.right:quee.append(root.right)

            r.append(temp)
        return r
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143428.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SD/MMC卡介绍

    SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。1.2.什么是SD卡SD:SD卡为SecureDigitalMemoryCard,即安全数码卡。它在MMC的基础上发展而来,增加

    2022年4月29日
    102
  • jar包下载网站「建议收藏」

    jar包下载网站「建议收藏」1.这里可以查询POM信息和JAR包下载https://www.kumapai.com/open/query/?querytype=title&querykey=cglib1.https

    2022年7月4日
    25
  • MyBatis面试题(2020最新版)

    MyBatis面试题(2020最新版)整理好的MyBatis面试题库,史上最全的MyBatis面试题,MyBatis面试宝典,特此分享给大家MyBatis介绍MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plai…

    2022年6月14日
    30
  • JS 对象(Object)和字符串(String)互转[通俗易懂]

    JS 对象(Object)和字符串(String)互转[通俗易懂]利用原生JSON对象,将对象转为字符串varjsObj={};jsObj.testArray=[1,2,3,4,5];jsObj.name=’CSS3′;jsObj.date=’8May,2011′;varstr=JSON.stringify(jsObj);alert(str);从JSON字符串转为对象varjsObj={};jsObj.t

    2022年5月27日
    30
  • FEC详解二_第二十三卦详解

    FEC详解二_第二十三卦详解前面简单说了一下FEC,以及它的配合使用的方法。下面我想详细说一下FEC算法:曾经有位大神在帖子里这么写着:采用改进型的vandermonde矩阵RS算法.其优点算法运算复杂度更低且解决了利用矩阵构造RS码当矩阵奇异时,构造的纠错码不为RS码的问题。FEC的方案:在RTP或私有协议头上扩展出包组头(Grouphead),一个Group有k个媒体包和r个冗余包组成,他们在Group

    2022年8月11日
    4
  • javascript全局变量失效

    javascript全局变量失效问题:我在js文件中定义了一个全局变量:vara,在函数B()中给a赋值,然后在函数C()中访问a结果发现a居然是undefined找原因:查了不少资料感觉和我的情况都不同,仔细分析了一下,发现了一些端倪:我的操作是这样的,我在A页面中加了iframe,iframe的地址是B,我在A页面中调用了B()函数,然后又在B页面中调用了C()函数。问题就出在这了,javascript的全…

    2022年6月13日
    81

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号