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


相关推荐

  • 端口号大全「建议收藏」

    端口号大全「建议收藏」计算机系统“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口、打印机端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。说白了,我们在计算机的任何操作都在有意无意的使用着计算机的各个端口,下面列出了计算机的常用端口:0…

    2022年9月2日
    2
  • getopt解析

    getopt解析转载自http://www.cnitblog.com/zouzheng/archive/2007/04/02/25034.aspxgetopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include      externchar*optarg;  //选项的参数指针      externintoptind,  //下一次调用getopt的时,从

    2022年5月2日
    39
  • 文字超出三行省略…显示全文「建议收藏」

    文字超出三行省略…显示全文「建议收藏」1、在开发过程中,我们经常会用到这种超出三行显示…的要求,使用css属性是可以的,但是需要考虑兼容性问题实现单行文本的溢出显示省略号,我们应该都知道用text-overflow:ellipsis

    2022年8月2日
    2
  • atitit.android模拟器使用报告

    atitit.android模拟器使用报告

    2021年12月4日
    47
  • Android uvc_文明6行星探索

    Android uvc_文明6行星探索文章选取android下linux-3.10作为分析对象,具体的UVC初始化过程可以参考csdn大神写的博客,地址是:http://blog.csdn.net/orz415678659。uvc加载摄像头的过程无非是初始化设备,加载设备,获取设备相关参数并加载相关参数到buffer,此时就已经将视频和控制参数加载到buffer了,这篇文章主要关注的是控制相关的参数。需要关注的两个核心文件是:…

    2022年10月30日
    0
  • 【算法】素数(质数)判断方法「建议收藏」

    【算法】素数(质数)判断方法「建议收藏」素数(质数)的判断在算法问题中经常遇到,这里小结几种常用的判断方法。首先,我们来看一下素数(质数)的定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。我们可以从它的定义得到判断素数的第一个方法:从2到n-1,判断是否存在能被n整除的数,既(n%i==0,2<=i<=n-1),如果有就不是素数,否则为素数。(这里为了比

    2022年6月18日
    28

发表回复

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

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