leetcode二叉树(五)-二叉树层序遍历

news2024/10/22 7:19:30

题目


102.二叉树的层序遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目在范围 [0, 2000] 内
  • -1000 <= Node.val <= 1000

思路

层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。

这里需要借助队列来辅助进行存储节点,队列先进先出,符合一层一层遍历的逻辑。

可以创建一个队列,用来存储二叉树每行的节点,依次遍历每个节点,将节点的数值存储到该层对应的list中,最后将所有的层list添加到result即可

代码

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
import collections
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root :
            return []
        myqueue = collections.deque()
        myqueue.append(root)
        result = []
        while myqueue:
            level = []
            for _ in range(len(myqueue)):
                temp = myqueue.popleft()
                level.append(temp.val)
                if temp.left:
                    myqueue.append(temp.left)
                if temp.right:
                    myqueue.append(temp.right)
            result.append(level)
        return result

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

imx6ull-正点原子阿尔法-uboot-v2.4网络驱动修改

1 修改网络 PHY 地址,修改 PHY 驱动 /*[c] 1 修改网络PHY地址,修改PHY驱动*/ /******************************************************************************/ #if (CONFIG_FEC_ENET_DEV 0) #define IMX_FEC_BASE ENET_BASE_ADDR #define CONFIG_FEC_MXC_PHYADDR …

Electron-(一)创建桌面应用

一、概述 本文通过核心步骤介绍&#xff0c;形成使用Electron进行桌面应用创建的概述性内容。 在当今的软件开发领域&#xff0c;Electron 作为一款强大的工具&#xff0c;为开发者提供了一种便捷的方式来创建跨平台的桌面应用。本文将通过详细介绍核心步骤&#xff0c;带您领…

记一次有趣的发现-绕过堡垒机访问限制

前言 在某一次对设备运维管理的时候&#xff0c;发现的某安全大厂堡垒机设备存在绕过访问限制的问题&#xff0c;可以直接以低权限用户访问多个受控系统&#xff0c;此次发现是纯粹好奇心驱使下做的一个小测试压根没用任何工具。因为涉及到了很多设备和个人信息&#xff0c;所以…

AI大模型引领智慧城市:11个行业应用场景全解析

AI大模型在智慧城市11个行业的应用场景‍‍‍ 人工智能是当今科技领域最前沿的课题&#xff0c;更是新一轮科技革命的重要代表之一。从AlphaGo Zero通过自我学习碾压“AI前辈”AlphaGo&#xff0c;到百度智能无人汽车成功上路、苹果手机开启新的刷脸认证方式……而最近&#x…

老师发期中成绩小程序-易查分一键发布省事~

老师注意&#xff0c;本学期的期中考试即将拉开帷幕。考试结束后&#xff0c;成绩的发布往往是我们觉得最繁琐耗时的工作。逐一私信每个学生家长&#xff0c;告知他们的考试情况。使用我要向老师们推荐一个神器——易查分&#xff0c;能让老师一分钟完成期中成绩发布的工作。 易…

亿赛通与Ping32文档加密功能全面盘点,选择最适合的工具

在信息化迅速发展的今天&#xff0c;文档安全愈发成为企业关注的焦点。为了保护敏感数据不被非法访问或泄露&#xff0c;选择一款高效的文档加密工具至关重要。亿赛通与Ping32作为市场上备受认可的安全解决方案&#xff0c;各自提供了强大的文档加密功能。本文将对这两款软件的…

嘉立创EDA—51最小系统PCB

1&#xff0c;灵活使用 下边栏的库中可以搜索对应需要的型号&#xff0c;如51最小系统板 常用库中有常用的电容和电阻&#xff0c;以及排针等,熟悉一些常用快捷键的使用 设计完电路后可以选用折线进行分区&#xff0c;写好每个网络标号&#xff0c;以及添加一些文字说明 最后可…

C语言复习第5章 操作符

目录 关于和*的优先级问题进一步理解*(p)和*(p) 关于和*的优先级问题 首先明确一点 解引用*的优先级比自增低 区分如下代码: 1.*p:等价于*(p) 先对指针p解引用 再把指针p1(不会对野指针进行解引用操作) 2.*p:等价于*(p) 先把指针p1 再对指针p解引用(可能对野指针解引用 会报错…

前端布局与响应式设计综合指南(末)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…

Windows环境下部署LobeChat及远程AI聊天操作指南

文章目录 前言1. LobeChat功能介绍2. 本地安装LobeChat3. 如何使用LobeChat工具4. 安装Cpolar内网穿透5. 实现公网访问LobeChat6. 固定LobeChat公网地址 前言 本文主要介绍如何在Windows系统电脑本地部署LobeChat&#xff0c;一款高颜值的开源AI大模型智能应用&#xff0c;并结…

Ubuntu终端配置

选择shell shell有很多&#xff0c;默认的是bash&#xff0c;一般就够用里&#xff0c;想要花里胡哨点就用zsh&#xff0c;还有最近比较火的fish 如果在刚开始安装完Ubuntu没有改shell&#xff0c;后面就不要改了。 安装的软件会设置环境变量&#xff0c;这些环境变量都是写入…

一个好的维权小程序应该是什么样的?

小程序如今为大家提供了很多的便利服务&#xff0c;且小程序的种类、功能是很多样的&#xff0c;那么对于一个好的维权小程序来说&#xff0c;其功能和设计应该紧紧围绕着用户的需求。 设计页面应该直观简单&#xff0c;功能布局让人一目了然&#xff1b;操作简单&#xff0c;…

我们的“前端学习路线图”,也给大家介绍一下

给大家介绍一下 2024 年最不全的“前端学习路线图”。 虽然有 99% 的概率会躺在你的收藏夹里吃灰&#xff0c;但我还是要介绍一下我们的“前端学习路线图”。 跟其他最全版的前端学习路线图&#xff0c;我们的“路线图”的特点是&#xff1a; 粒度更粗一点范围更广一点样子更…

【c数据结构】二叉树深层解析 (模拟实现+OJ题目)

目录 前言 一、树 1.树的概念与结构 2.树的专业用语 1.根节点 2.边 3.父节点/双亲节点 4.子节点/孩子节点 5.节点的度 6.树的度 7.叶子节点/终端节点 8.分支节点/非终端节点 9.兄弟节点 10.节点的层次 11.树的高度/深度 12.节点的祖先 13.子孙 14.路径 15.森…

【操作系统】五、输入输出(I/O)管理:1. I/O 管理概述(I/O控制器、I/O 控制方式、I/O 软件层次结构、层次间接口)

输入输出(I/O)管理 文章目录 输入输出(I/O)管理十、I/O 管理1.设备分类2. I/O 控制器2.1功能2.2组成 ❗3. I/O 控制方式3.1 程序直接控制方式3.2 中断驱动方式❗3.3 DMA方式3.3.1 DMA控制器 3.4 通道控制方式 ❗4. I/O 软件层次结构4.1用户层软件❗4.2设备独立性软件4.3设备驱动…

【最新发布】华硕Windows10系统一键下载安装!

今天https://www.xitongzhijia.net/小编给大家带来一款适合华硕电脑安装的Windows10系统&#xff0c;该版本系统基于最新Windows10 22H2 19045.5011 64位专业版离线制作&#xff0c;安全无毒&#xff0c;系统打印机驱动意外卸载的问题得到了修复&#xff0c;也解决了一些系统安…

HT8787B 可任意限幅、内置自适应升压的2x9.0W立体声音频功放

1、特征 可任意配置的限幅功能 自由配置音频限制幅度&#xff0c;使输出音频信号限制在固 定失真水平内 内置自动限温控制功能 -适应不同散热条件&#xff0c;避免出现过温关断现象 高效自适应G类升压功能&#xff0c;有效延长播放时间 可调节最大限流值&#xff0c;有效防止电…

数据链路层的流量控制和可靠传输机制

目录 1. 选择等待协议&#xff08;Stop-and-Wait Protocol&#xff09; 工作原理&#xff1a; 2. 后退N帧协议&#xff08;Go-Back-N ARQ&#xff09; 工作原理&#xff1a; 3. 选择重传协议&#xff08;Selective Repeat ARQ&#xff09; 工作原理&#xff1a; 4. 总结 …

学安全的同学都有必要了解的安全产品,雷池社区版(WAF)

网络应用防火墙&#xff08;WAF&#xff0c;Web Application Firewall&#xff09;已成为保障网站和应用安全的核心技术之一。 雷池社区版作为国内自主研发的一款优秀开源WAF&#xff0c;凭借其高效、易用和强大的防护能力&#xff0c;成为众多安全从业者学习与使用的首选工具…

HBuilder X中搭建Vue-cli项目组件和路由以及UI库使用(二)

一、创建组件 &#xff08;1&#xff09;在vj1项目src|右键|vue文件 &#xff08;2&#xff09;组件常用模版 <!--该标签用于写HTML代码,必须有一个根标签,如下<div>是根标签--> <template> <div>首页</div> </template><!--该标签用…