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


相关推荐

  • MFC进度条同步问题

    MFC进度条同步问题读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后,进度条隐藏。那么这个功能是如何实现的呢?为了说明该功能的实现原理,本例提供了一个范例程序prgsbar,它演示了在编辑视图里显

    2022年7月27日
    8
  • 虚拟机的桥接模式和NAT模式[通俗易懂]

    虚拟机的桥接模式和NAT模式[通俗易懂]1.桥接模式桥接模式:直接连接物理网络,也就是连的你交换机的网络和你主机的IP在一个网段上将虚拟机出来的计算机,直接连入当前的网络环境中,并且独占IP.特点:在当前网络中的全部计算机,都可以访问虚拟机.弊端:1.Ip地址可能会发生变化192.150.1.100/192.168.1.1012.如果这时传递文件时需要依靠交换机/路由器2.NAT模式说明:相当于在windows系…

    2022年6月26日
    33
  • Wallpaper Engine 占用GPU过高解决办法「建议收藏」

    Wallpaper Engine 占用GPU过高解决办法「建议收藏」看到本文的时候,首先你要有一个大致认识:Wallpaper中的壁纸大致分为两种:一种是实时计算渲染的,一种是视频播放渲染的。当你明白这一点的时候就不难解释为什么有的壁纸不大,但是却给人一种挖矿的感觉,有的壁纸很大却完美运行。。。。目录吐槽:解决办法:总结吐槽:今天找到了一个很好看(屌丝)的壁纸,结果应用起来,却发现电脑卡顿严重(见下图),虽说我的显卡1650不是很好,可也不至于带不动个20多MB的壁纸吧???于是乎……..我发现是我想简单了,他这个壁纸是..

    2022年6月17日
    1.0K
  • msfconsole search_msfconsole下载

    msfconsole search_msfconsole下载msfconsole启动msf控制台后└─msfconsole2⨯…dBBBBBBbdBBBPdBBBBBBPdBBBBBb.o’dB’BBPdB’dB’dB’d…

    2025年9月24日
    3
  • react根据json配置创建表单_关于web页的叙述不正确

    react根据json配置创建表单_关于web页的叙述不正确我是一个新手,MVC3和剃刀和我需要结合/加载的WebGrid一旦数据从AJAX后返回的帮助。任何帮助将真正理解(项目截止日期即将到来之际);)我的情况是这样的:我有两个级联的下拉列表。第一个列表包含从数据库中的区域。一旦一个区域中,选择它填充第二个下拉用的设备的清单。一旦设备被选中,我需要填充的WebGrid有建筑物清单。我有级联下拉菜单正常工作Index.cshtml:@u…

    2022年10月5日
    1
  • Vue上传图片_解调的三种方式

    Vue上传图片_解调的三种方式项目中需要上传图片可谓是经常遇到的需求,本文将介绍3种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来。没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架…

    2022年10月16日
    3

发表回复

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

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