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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • solidworks导出urdf文件的步骤和踩过的坑「建议收藏」

    solidworks导出urdf文件的步骤和踩过的坑「建议收藏」平台:sw2020,sw2urdfV1.5sw2016在win10激活成功教程有些问题,选择2020版本sw2urdf下载地址和英文教程:sw_urdf_exporter-ROSWiki下载sw插件版本的一些注意:sw2urdf插件安装提示_Dcr_Hs的博客-CSDN博客_sw2urdf插件过程参考:SolidWorks模型导出urdf(古月居老师)_哔哩哔哩_bilibili注意:文件名,用户名,坐标系,坐标轴尽量用英文,导出urdf文件用小写英文,后边.sld什么的要删掉。导入

    2022年11月1日
  • AppSettings和ConnectionStrings的区别

    AppSettings和ConnectionStrings的区别AppSettings是ASP.NET1.1时期用的,在.NETFramework2.0中,新增了ConnectionStrings. 1.  providerName=”System.Data.SqlClient”/>  或是  providerName=”System.Data.SqlClient”/>  在里,在页面还可以这样引用.

    2022年5月21日
  • idea2021激活码在线生成[免费获取]

    (idea2021激活码在线生成)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

    2022年3月20日
  • vue上传文件流

    vue上传文件流创建formData方法,把文件流以及所有需要上传的数据通过formData.append传入formData中,上传请求中的data中只需要放一个formData就可以了。(此处request为封装的请求方法,省事可以不封装)

    2022年10月16日
  • idea 2021.5 激活码[在线序列号]

    idea 2021.5 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
  • Redis创建高可用集群教程【Windows环境】

    模仿的过程中,加入自己的思考和理解,也会有进步和收获。在这个互联网时代,在高并发和高流量可能随时爆发的情况下,单机版的系统或者单机版的应用已经无法生存,越来越多的应用开始支持集群,支持分布式部署了。而Redis作为缓存服务器的比较出色的一员,它在出生的时候就被设置支持集群,本篇就是介绍Redis集群的介绍和搭建过程!使用的平台是Windows,搭建的思路和Linux上基本一致! 墙…

    2022年2月27日

发表回复

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

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