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


相关推荐

  • 详解九章算法的作者是谁_arrayset

    详解九章算法的作者是谁_arraysetArrayDeque方法很多,而他们按过程划分分为三种,初始化,扩容,CRUD操作。下面依次来说初始化过程中依赖一个核心的函数calculateSize,它的源码如下privatestaticintcalculateSize(intnumElements){intinitialCapacity=MIN_INITIAL_CAPACITY;//Findthebestpoweroftwotoholdelements.

    2022年9月19日
    2
  • Apache和PHP结合

    Apache和PHP结合Apache和PHP结合配置httpd支持PHPServerNameRequirealldeniedAddTypeapplication/x-httpd-php.php//解析PHPDirectoryIndexindex.htmlindex.php[root@shuai-01~]#vim/usr/local/apache2.4/conf/httpd.conf修

    2022年7月12日
    17
  • A4988驱动步进电机「建议收藏」

    A4988驱动步进电机「建议收藏」A4988一般用arduino来驱动,我是用STM32F103驱动的。首先推一个网页,https://www.pololu.com/product/1182,上面有比较详细和专业的说明,还有一个关于限制电流使细分更精确的视频讲解,总之,专业。然后推一个datasheet,https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver

    2022年6月16日
    21
  • 进程调度算法c语言实现_进程调度算法有哪些

    进程调度算法c语言实现_进程调度算法有哪些对一个非抢占式多道批处理系统采用以下算法的任意两种,实现进程调度,并计算进程的开始执行时间,周转时间,带权周转时间,平均周转时间,平均带权周转时间1.先来先服务算法2.短进程优先算法*3.高响应比优先算法三、设计思想每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间…

    2022年9月29日
    1
  • pandownload激活码_pandownload账号

    pandownload激活码_pandownload账号yunfile网盘是国内的一个免费网盘,很多网站博客都会使用yunfile网盘的外链。但是该网盘广告多,等待时间长,免费用户只能一次下载一个文件,而且不能用迅雷等下载软件来下载,只能用IE,Chrome,Firefox等浏览器下载,下载速度又极其缓慢。但是有时候我们又不得不在该网盘下载文件,这个时候有一个yunfile网盘会员账号就可以解决上面所说的问题了。有求yunfile会员账号的朋友…

    2025年9月25日
    8
  • cmd 杀进程命令_cmd命令结束进程

    cmd 杀进程命令_cmd命令结束进程1、打开CMD,输入tasklist2、根据进程名杀进程taskkill/f/t/imGoogleCrashHandler.exe

    2025年9月15日
    5

发表回复

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

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