当前位置: 首页 > news >正文

leetcode102:二叉树的层序遍历

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

广度优先搜索
二叉树

方法一:广度优先遍历

利用队列实现广度优先遍历,每次判断队列的长度,队列长度就是当前层拥有的节点数目

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> list = new ArrayList<>();if (root == null) {return list;}Deque<TreeNode> deque = new LinkedList<>();deque.offer(root);while (!deque.isEmpty()) {List<Integer> subList = new ArrayList<>();int size = deque.size();for(int i = 0; i < size; i++) {TreeNode node = deque.poll();subList.add(node.val);if (node.left != null) {deque.offer(node.left);}if (node.right != null) {deque.offer(node.right);}}list.add(subList);}return list;}
}

相关文章:

leetcode102:二叉树的层序遍历

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例 2&#xff1a; 输入…...

深度学习openMMLab的介绍和使用

文章目录MMCV介绍MMCV的安装修改链接中的cu113修改链接中的torch1.10.0物体分类MMCLS源码下载配置参数解读配置文件的组成如何生成完整配置文件定义自己的数据集构建自己的数据集训练自己的任务物体检测MMDetection语义分割MMSegmentation姿态估计MMPose未完成&#xff0c;持续…...

【vue2】axios请求与axios拦截器的使用详解

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;当我们在路由跳转前与后我们可实现触发的操作 【前言】ajax是一种在javaScript代码中发请…...

文件上传都发生了啥

一直在用组件库做文件上传&#xff0c;那里面的原理到底是啥&#xff0c;自己写能不能写一个upload框出来呢? &#xff08;一&#xff09;基本原理 浏览器端提供了一个表单&#xff0c;在用户提交请求后&#xff0c;将文件数据和其他表单信息编码并上传至服务器端&#xff0…...

【vim进阶】vim编辑器的多文件操作(如何打开多个文件,如何进行文件间的切换,如何关闭其中的某一个文件)

一、如何打开多个文件&#xff1f; 方法一&#xff1a;启动打开 现在有多个文件 file1 &#xff0c;file2 , … ,filen. 现在举例打开两个文件 file1&#xff0c;file2 vim file1 file2该方式打开文件&#xff0c;显示屏默认显示第一个文件也就是 file1。 方法二&#xff…...

ToBeWritten之车辆通信

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…...

自定义 Jackson 的 ObjectMapper, springboot多个模块共同引用,爽

springboot多个模块共同引用自定义ObjectMapper &#x1f683;统一配置示例自定义 Jackson 的 ObjectMapper更改时区为东八区, 优点是在多个模块中都可以使用同一种方式来进行配置&#xff0c;方便维护和修改 统一配置 假设有一个 Spring Boot 项目&#xff0c;包含多个模块&…...

【面试】Redis面试题

文章目录概述什么是Redis&#xff1f;Redis有哪些优缺点&#xff1f;使用redis有哪些好处&#xff1f;为什么要用 Redis / 为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快Redis的应用场景持久化什么是Redis持久化&#xff1f;Redis 的持久化机制是…...

前端后端交互系列之原生Ajax的使用

目录前言一&#xff0c;Ajax概述二&#xff0c;基础知识之Http协议2.1 请求报文2.2 响应报文2.3 如何查看通信报文三&#xff0c;Ajax简单案例3.1 Express框架创建服务端3.2 Ajax案例后台准备3.3 Ajax案例前台准备3.4 发送get请求3.5 发送带有参数的Ajax请求3.6 发送post请求3.…...

openGauss 5.0企业版主从部署,实战狂飙

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…...

Vue中props组件和slot标签的区别

在 Vue 中&#xff0c;props 和 slot 都是组件之间进行通信的机制&#xff0c;它们的作用和应用场景有一些区别&#xff1a; props 是一种组件的数据传递机制&#xff0c;通过在父组件中以属性的形式向子组件传递数据。子组件接收这些数据&#xff0c;并可以进行相应的处理和渲…...

基于Windows下VSCode搭建Vue开发环境

一、准备工作 VSCode编辑器安装&#xff1a;https://code.visualstudio.com/Node.js安装&#xff1a;https://blog.csdn.net/qq_40197828/article/details/78302124VSCode插件安装&#xff1a;Vetur和ESlint 二、更换淘宝镜像源 更换镜像源命令&#xff1a;npm install -g c…...

Android开发 Dialog对话框 DatePickerDialog

1. AlertDialog AlertDialog是弹出的提醒对话框&#xff0c;有提示&#xff0c;确认&#xff0c;选择等功能。 没有公开的构造方法&#xff0c;一般用AlertDialog.Builder来完成参数设置&#xff0c;最后调用create方法创建。 参数设置常用的方法&#xff1a; 代码&#xff…...

开心档开发入门网之C++ Web 编程

C Web 编程什么是 CGI&#xff1f;公共网关接口&#xff08;CGI&#xff09;&#xff0c;是一套标准&#xff0c;定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。CGI 规范目前是由 NCSA 维护的&#xff0c;NCSA 定义 CGI 如下&#xff1a;公共网关接口&#xff08;…...

C# 和 VB .NET 的纯 FFmpeg 包装器:CSFFmpeg Crack

用于 C# 和 VB .NET 的纯 FFmpeg 包装器buildbuildpassingpassing releasereleasev1.0.3.0v1.0.3.0用于 C# 和 VB .NET Framework&#xff08;WinForm 和 WPF&#xff09;和 .NET Core 的纯 FFmpeg 包装器。 截图 主要 Winform 示例有据可查的例子目录&#xff1a; 关于截图好处…...

python外篇(序列化和非序列化)

目录 概念阐述 pickle json msgpack 概念阐述 序列化是指将对象转化为可存储或可传输的数据格式&#xff0c;例如将 Python 对象转化为二进制、JSON 或 XML 等格式&#xff0c;以便于将其存储到文件中或在网络上传输。在Python中&#xff0c;可以使用pickle、json、msgpac…...

Linux总结(二)

基础IO 1.什么叫文件? 我们需要在操作系统的角度理解文件。 文件 = 文件内容 + 属性(所以即使是空文件,也会占空间,因为我们是需要保存文件属性的,属性也是数据,所以占空间) C/C++程序默认会打开三个文件流,叫做标准输入(stdin),标准输出(stdout),标准错误(std…...

【4.1】Socket编程、TCP挥手

TCP连接断开 四次挥手 四次挥手过程 客户端发送FIN报文&#xff0c;客户端进入FIN_WAIT_1状态。 服务端接收报文&#xff0c;发送ACK报文&#xff0c;服务端进入CLOSE_WAIT状态。 客户端收到ACK报文&#xff0c;进入FIN_WAIT_2状态。 服务端处理完数据后&#xff0c;也发送…...

【竞赛经历】CSDN第41期竞赛题解

1 前言 本次的竞赛主要是最后一题&#xff0c;对于完全不懂珠算的人来说还是有点困难的&#xff0c;仅理解题目的意思就花了很多时间&#xff0c;最后侥幸拿了第一个前三。。。 2 题解 本次竞赛分为编程题部分和非编程题部分&#xff0c;其中非编程题部分比较简单。 2.1 非编…...

【Linux学习】信号——预备知识 | 信号产生 | 核心转储

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 信号&#x1f514;信号&#x1f3b5;预备知识&#x1f3b5;信号处理方法的注册&#x1f514;信号…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...