二叉树的层次遍历

102. 二叉树的层序遍历 - 力扣(LeetCode)

题目描述

给你二叉树的根节点 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

题解

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res;queue<TreeNode*> q;//使用队列保存每层的结点if(!root) return res;q.push(root);while(!q.empty()){int n=q.size();vector<int> vec;//遍历每层的结点,并将下一层的结点保存到队列中for(int i=0;i<n;i++){TreeNode* node=q.front();vec.push_back(node->val);q.pop();if(node->left) q.push(node->left);if(node->right) q.push(node->right);}res.emplace_back(vec);}return res;}
};

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

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

相关文章

php研究课题

对于PHP这门语言而言&#xff0c;可以研究的课题有很多&#xff0c;以下是可能的课题方向和对应的内容&#xff1a; PHP语言基础研究 PHP语言特性和基本语法PHP的数据类型、变量、运算符和表达式PHP的流程控制语句PHP的函数和引用PHP的面向对象编程和设计模式 PHP与Web开发 …

harmony开发之Text组件的使用

TextInput、TextArea是输入框组件&#xff0c;通常用于响应用户的输入操作&#xff0c;比如评论区的输入、聊天框的输入、表格的输入等&#xff0c;也可以结合其它组件构建功能页面&#xff0c;例如登录注册页面。 图片来源黑马程序员 Text组件的使用&#xff1a; 文本显示组…

flutter学习-day1-环境搭建和启动第一个项目

&#x1f4da; 目录 SDK 下载配置环境变量安装 flutter搭建 Android 环境SDK 和依赖升级IDE 配置与使用 Android Studio 配置与使用VS Code 配置与使用 真机调试 本文学习和引用自《Flutter实战第二版》&#xff1a;作者&#xff1a;杜文 1. SDK下载 前置需要操作系统 window …

Spring Cloud + Vue前后端分离-第4章 使用Vue cli 4搭建管理控台

Spring Cloud Vue前后端分离-第4章 使用Vue cli 4搭建管理控台 4-1 使用vue cli创建admin项目 Vue 简介 Vue作者尤雨溪在google工作时&#xff0c;最早只想研究angular的数据绑定功能&#xff0c;后面觉得这个小功能很好用&#xff0c;有前景&#xff0c;就再扩展&#xff…

[MySQL] MySQL复合查询(多表查询、子查询)

前面我们学习了MySQL简单的单表查询。但是我们发现&#xff0c;在很多情况下单表查询并不能很好的满足我们的查询需求。本篇文章会重点讲解MySQL中的多表查询、子查询和一些复杂查询。希望本篇文章会对你有所帮助。 文章目录 一、基本查询回顾 二、多表查询 2、1 笛卡尔积 2、2…

机器学习笔记 - 基于深度学习计算视频中演员的出镜时间

一、基本步骤 这里是使用动画片猫和老鼠进行计算,基本流程如下: 1、导入并读取视频,从中提取帧,并将其另存为图像 2、标记一些图像以训练模型(别担心,我已经为你做好了) 3、根据训练数据构建我们的模型 4、对剩余图像进行预测 5、计算汤姆和杰瑞的屏幕时间 二、基础环境…

教师未来发展前景如何

作为一名教师&#xff0c;我对未来发展的前景也感到有些迷茫。 不过教育行业仍然是一个稳定的职业&#xff0c;但是随着社会的变化和科技的发展&#xff0c;传统的教学模式已经逐渐被在线教育、人工智能等新型教学方式所取代。这使得教师的角色和职责也在发生变化&#xff0c;需…

matplot绘图时图像太大报错但能保存

matplot绘图时&#xff0c;图像太大&#xff0c;可能在jupyter里面报错&#xff0c;但是图像可以保存。 报错&#xff1a;Image size of 12237479x675 pixels is too large. It must be less than 2^16 in each direction. 在这里插入图片描述

Linux中用bash写脚本

本章主要介绍如何使用bash 了解通配符了解变量了解返回值和数值运算判断语句 grep的用法是“grep 关键字 file”&#xff0c;意思是从file中过滤出含有关键字的行 例如&#xff0c;grep root /var/log/messages&#xff0c;意思是从/var/log/messages 中过滤出含有root 的行…

SpringIOC第二课,@Bean用法,DI详解,常见面试题Autowired VS Resource

一、回顾 但是我们之前MVC时候&#xff0c;在页面上&#xff0c;为什只用Controller,不用其他的呢&#xff1f; 用其他的好使吗&#xff1f;(我们可以在这里看到&#xff0c;出现404的字样&#xff09; Service ResponseBody public class TestController {RequestMapping(&quo…

kubernetes安装kubesphere

前置默认都安装了k8s&#xff0c;且k8s都正常 1、nfs文件系统 1.1、安装nfs-server # 在每个机器。 yum install -y nfs-utils# 在master 执行以下命令 echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports# 执行以下命令&#xff0c;启动 …

数字化和数智化一字之差,究竟有何异同点?

在2023杭州云栖大会的一展台内&#xff0c;桌子上放着一颗番茄和一个蛋糕&#xff0c;一旁的机器人手臂融入“通义千问”大模型技术后&#xff0c;变得会“思考”&#xff1a;不仅能描述“看”到了什么&#xff0c;还能确认抓取的是番茄而不是蛋糕。 “传统的机械臂通常都只能基…

Post Quantum Fuzzy Stealth Signatures and Applications

目录 笔记后续的研究方向摘要引言贡献模块化框架模糊构造实施适用于FIDO Post Quantum Fuzzy Stealth Signatures and Applications CCS 2023 笔记 后续的研究方向 摘要 自比特币问世以来&#xff0c;基于区块链的加密货币中的私人支付一直是学术和工业研究的主题。隐形地址…

cmd命令 常用的命令

网络工作为常年公司里的背锅侠&#xff0c;不得不集齐十八般武艺很难甩锅。像cmd命令这种好用又好上手的技术&#xff0c;就是网络工程师上班常备技能。 只要按下快捷键 winR&#xff0c;输入cmd回车&#xff0c;然后输入cmd命令。 像我自己&#xff0c;我就经常用cmd命令检测…

在UBUNTU上使用Qemu和systemd-nspawn搭建RISC-V轻量级用户模式开发环境

参考链接 使用Qemu和systemd-nspawn搭建RISC-V轻量级用户模式开发环境 - 知乎 安装Qemu sudo apt updatesudo apt -y install qemu-user-binfmt qemu-user-static systemd-container sudo apt -y install zstd 配置环境 RISCV_FILEarchriscv-2023-10-09.tar.zstwget -c ht…

浪潮信息KeyarchOS——保卫数字未来的安全防御利器

浪潮信息KeyarchOS——保卫数字未来的安全防御利器 前言 众所周知&#xff0c;目前流行的操作系统有10余种&#xff0c;每一款操作系统都有自己的特点。作为使用者&#xff0c;我们该如何选择操作系统。如果你偏重操作系统的安全可信和稳定高效&#xff0c;我推荐你使用浪潮信…

openEuler JDK21 部署 Zookeeper 集群

zookeeper-jdk21 操作系统&#xff1a;openEuler JDK&#xff1a;21 主机名IP地址spark01192.168.171.101spark02192.168.171.102spark03192.168.171.103 安装 1. 升级内核和软件 yum -y update2. 安装常用软件 yum -y install gcc gcc-c autoconf automake cmake make \zl…

E: 无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 6253(apt-get)持有

问题 解决方案 sudo rm /var/lib/dpkg/lock-frontend接着&#xff0c;继续安装。

el-from表单实现lable字体大小改变

<el-form-item label"活动名称" class"my-form"> <el-input v-model"form.name" style"width: 80%;" ></el-input> </el-form-item> <style scoped lang"less"> //给当前页面所以的lable都字…

Fiddler抓包测试

模拟弱网测试 操作&#xff1a;一、Rules - Customize Rules &#xff08;快捷键CtrlR&#xff09;弹出编辑器 二、接着CtrlF查找m_SimulateModem标志位 三、默认上传300ms&#xff0c;下载150ms 四、更改后&#xff0c;继续Rules - Performances - Simulate Modem Speeds勾上 …