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

力扣刷题第二十六天--二叉树

前言

昨天看总决赛,差距太大,看的没意思,真的是一点变通没有啊。难受,没有写题的状态了。大概率是最后一次看比赛了,青春已复过,白日忽相催。召唤师要和生活对线了。英雄们的语音,台词,技能历历在目,再多不舍,也要说再见。Legends never die!调整状态,再出发!再高的山,再长的河,也会越过!

层序遍历的模板基本上就是这样,掌握好。

内容

一、二叉树的层序遍历

102.二叉树的层序遍历

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

本题为后端高频面试题,被收录于《热招技术岗上岸指南》

广度优先搜素

层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上

/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*///用切片模拟队列
func levelOrder(root *TreeNode) [][]int {var  res [][]intif root==nil{return res}curLevel:=[]*TreeNode{root}// 存放当前层节点for len(curLevel)>0{nextLevel:=[]*TreeNode{}// 准备通过当前层生成下一层vals:=[]int{}for _,node:=range curLevel{vals=append(vals,node.Val)// 收集当前层的值if node.Left!=nil{ // 收集下一层的节点nextLevel=append(nextLevel,node.Left)}if node.Right!=nil{nextLevel=append(nextLevel,node.Right)}}res=append(res,vals)curLevel=nextLevel// 将下一层变成当前层}return res
}
二、 二叉树的层序遍历II

107.二叉树的层序遍历II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

广度优先搜素

上一题反转一下结果集即可

/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*/
func levelOrderBottom(root *TreeNode) [][]int {var res [][]intif root==nil{return res}curLevel:=[]*TreeNode{root}for len(curLevel)>0{nextLevel:=[]*TreeNode{}vals:=[]int{}for _,node:=range curLevel{vals=append(vals,node.Val)if node.Left!=nil{nextLevel=append(nextLevel,node.Left)}if node.Right!=nil{nextLevel=append(nextLevel,node.Right)}}res=append(res,vals)curLevel=nextLevel}n:=len(res)for i:=0;i<n/2;i++{res[i],res[n-1-i]=res[n-1-i],res[i]}return res
}

最后

为什么有的人总能保持高energy?你却总是消耗energy,导致没有精力做重要的事。内心充盈,精力充沛,才能吸引,影响别人!保护好自己的energy!!!

相关文章:

力扣刷题第二十六天--二叉树

前言 昨天看总决赛&#xff0c;差距太大&#xff0c;看的没意思&#xff0c;真的是一点变通没有啊。难受&#xff0c;没有写题的状态了。大概率是最后一次看比赛了&#xff0c;青春已复过&#xff0c;白日忽相催。召唤师要和生活对线了。英雄们的语音&#xff0c;台词&#xf…...

电脑显示msvcp140_1.dll丢失的5个常用解决方法,亲测可修复

常见于计算机操作中的"msvcp140_1.dll丢失"错误警示&#xff0c;往往令部分应用程序无法正常启动。为了解决这个问题&#xff0c;我们需要采取一些措施来修复丢失的文件。本文将介绍6个解决msvcp140_1.dll丢失的方法&#xff0c;帮助大家快速恢复计算机的正常运行。 …...

hive sql 行列转换 开窗函数 炸裂函数

hive sql 行列转换 开窗函数 炸裂函数 准备原始数据集 学生表 student.csv 讲师表 teacher.csv 课程表 course.csv 分数表 score.csv 员工表 emp.csv 雇员表 employee.csv 电影表 movie.txt 学生表 student.csv 001,彭于晏,1995-05-16,男 002,胡歌,1994-03-20,男 003,周杰伦,…...

Continuity” of stochastic integral wrt Brownian motion

See https://imathworks.com/math/math-continuity-of-stochastic-integral-wrt-brownian-motion/...

设置 wsl 桥接模式

一、环境要求 Win10/Win11 专业版&#xff0c;并已安装 Hyper-V 二、具体步骤 打开 Hyper-V 管理器 创建虚拟交换机 WSL Bridge 修改wsl配置文件 .wslconfig .wslconfig 文件所在路径如下&#xff1a; C:\Users\<UserName>\.wslconfig若 .wslconfig 文件不存在&am…...

[uni-app] uni.showToast 一闪而过问题/设定时间无效/1秒即逝

toast一闪就消失 1.猜测频繁点击导致 – 排除 2.猜测再定时器内导致-- 排除 3.和封装的接口调用一起导致 - 是改原因 深挖发现: axios封装中, 对loading/hindloading进行了配置, 看来是 showToast 与 loading等冲突导致的 wx.hideLoading(Object object) 解决办法 再封装的…...

7、信息打点——资产泄露CMS识别Git监控SVNDS_Store备份

知识点&#xff1a; CMS指纹识别、源码获取方式习惯&配置&特征等获取方式托管资产平台资源搜索监控 如何获取源码 直接识别CMS&#xff0c;根据CMS获取网站源码。CMS直接识别工具&#xff1a;云悉指纹识别平台。识别不了CMS&#xff0c;则通过以下方式获取源码&…...

【运维篇】5.6 Redis server 主从复制配置

文章目录 0. 前言1. 配置方式步骤1: 准备硬件和网络步骤2: 安装Redis步骤3: 配置主服务器的Redis步骤4: 配置从服务器的Redis步骤5: 测试复制功能步骤6: 监控复制状态 2. 参考文档 0. 前言 在Redis运维篇的第5.6章节中&#xff0c;将讨论Redis服务器的主从复制配置。在开始之前…...

Hive语法,函数--学习笔记

1&#xff0c;排序处理 1.1cluster by排序 &#xff0c;在Hive中使用order by排序时是全表扫描&#xff0c;且仅使用一个Reduce完成。 在海量数据待排序查询处理时&#xff0c;可以采用【先分桶再排序】的策略提升效率。此时&#xff0c; 就可以使用cluster by语法。 cluster…...

LeetCode热题100——动态规划

动态规划 1. 爬楼梯2. 杨辉三角3. 打家劫舍 1. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; // 题解&#xff1a;每次都有两种选择&#xff0c;1或者2 int climbStairs(int n) {if (n …...

初识树(c语言)

树 定义&#xff1a;树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 有一个特殊的结点&#xff0c;称为根结点&#xff0c;根节点没有前驱结点 除根节点外&#xff0c;其余结点被分成M(M>0)个互不相交…...

听GPT 讲Rust源代码--src/librustdoc(2)

题图来自 Chromium项目将支持Rust编程语言[1] File: rust/src/librustdoc/html/render/search_index.rs 在Rust源代码中&#xff0c;rust/src/librustdoc/html/render/search_index.rs文件的作用是生成搜索索引&#xff0c;用于在Rust文档页面上进行关键字搜索。该文件实现了一…...

多目标应用:基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、基于非支配排序的蜣螂优化算法NSDBO 基于非支配排序的蜣螂优化算法NSDBO简介&#xff1a; https://blog.csdn.net/weixin46204734/article/details/128…...

泉盛UV-K5/K6全功能中文固件

https://github.com/wu58430/uv-k5-firmware-chinese/releases 主要功能&#xff1a; 中文菜单 许多来自 OneOfEleven 的模块&#xff1a; AM 修复&#xff0c;显著提高接收质量长按按钮执行 F 操作的功能复制快速扫描菜单中的频道名称编辑频道名称 频率显示选项扫描列表分配…...

基于JPBC的无证书聚合签名方案实现

基于JPBC的无证书聚合签名方案实现 摘要 一开始签名方案是基于PKI的&#xff0c;无证书签名起源于 基于身份密码体制&#xff0c; 2009 年第一篇无证书签名方案1被提出&#xff0c;随后出现了一些列方案2,3;包括无配对的无证书聚合签名方案4,更多内容参考文献5. 暂时没有看见…...

FreeRTOS内存管理分析

目录 heap_1.c内存管理算法 heap_2.c内存管理算法 heap_3.c内存管理算法 heap_4.c内存管理算法 heap_5.c内存管理算法 内存管理对应用程序和操作系统来说非常重要&#xff0c;而内存对于嵌入式系统来说是寸土寸金的资源&#xff0c;FreeRTOS操作系统将内核与内存管理分开实…...

hashMap索引原理

平日里面经常使用map这种数据结构&#xff0c;令人称奇的是他的访问速度为什么那么快&#xff1f;为什么可以通过key以接近O(1)的速度查找&#xff1f; 一、基础数据结构特点分析 1.1数组 查找的时间复杂度为O(1) 插入时间复杂度为O(n) 1.2链表 查找的时间复杂度为O(n) 插…...

qcow2、raw、vmdk等镜像格式工具

如果没有qemu&#xff0c;可以从这里下载安装&#xff1a;https://qemu.weilnetz.de/w64/...

GaussDB新特性Ustore存储引擎介绍

1、 Ustore和Astore存储引擎介绍 Ustore存储引擎&#xff0c;又名In-place Update存储引擎&#xff08;原地更新&#xff09;&#xff0c;是openGauss 内核新增的一种存储模式。此前的版本使用的行存储引擎是Append Update&#xff08;追加更新&#xff09;模式。相比于Append…...

人工智能基础_机器学习046_OVR模型多分类器的使用_逻辑回归OVR建模与概率预测---人工智能工作笔记0086

首先我们来看一下什么是OVR分类.我们知道sigmoid函数可以用来进行二分类,那么多分类怎么实现呢?其中一个方法就是使用OVR进行把多分类转换成二分类进行计算. OVR,全称One-vs-Rest,是一种将多分类问题转化为多个二分类子问题的策略。在这种策略中,多分类问题被分解为若干个二…...

L-system与硬件补偿技术在自动钢琴音乐生成中的应用

1. L-system与硬件补偿技术概述L-system&#xff08;Lindenmayer系统&#xff09;作为一种形式化语法&#xff0c;最初由生物学家Aristid Lindenmayer于1968年提出&#xff0c;用于模拟植物的生长过程。其核心机制是通过字符串重写规则生成具有自相似性的复杂结构。在音乐生成领…...

【线性代数笔记】秩、线性相关性与等价向量组的核心逻辑总结

博主简介&#xff1a;05后理工男&#xff0c;CSDN 技术博主。目前正在攻读计算机专业&#xff0c;同步复习 408 及数学基础。 笔记说明&#xff1a;本文为线性代数关于“秩”与“向量组相关性”的学习笔记&#xff0c;重点记录了判定方法与核心定理。一、 线性表示与方程组解的…...

AI应用开发实战:基于Awesome清单构建生产级LLM客户端

1. 项目概述&#xff1a;一个AI客户端的“Awesome”清单意味着什么&#xff1f;最近在GitHub上闲逛&#xff0c;又发现了一个让我眼前一亮的项目&#xff1a;wlemuel/awesome-ai-client。光看这个标题&#xff0c;任何一个在AI应用开发领域摸爬滚打过一段时间的开发者&#xff…...

100x-dev项目解析:从高效工具链到架构思维,打造10倍效能开发者

1. 项目概述与核心价值 最近在开发者社区里&#xff0c;一个名为 rajitsaha/100x-dev 的项目引起了我的注意。乍一看这个标题&#xff0c;可能会让人联想到某种“百倍效率”的开发工具或框架&#xff0c;充满了极客式的夸张与诱惑。作为一名在软件工程一线摸爬滚打了十多年的…...

2025届学术党必备的十大AI科研神器横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 这篇文章&#xff0c;系统地阐述了&#xff0c;DeepSeek系列论文的&#xff0c;核心技术架构…...

Productivity 的核心不是任务管理:拆解 Claude 的 L1/L2 记忆缓存

我们假设这样一个场景&#xff1a;项目群里有人扔过来一句"ask todd to do the PSR for oracle"。对一个刚入职的新同事&#xff0c;这句话基本等于乱码——todd 是哪个 todd&#xff1f;PSR 是什么报告&#xff1f;oracle 指公司还是某笔交易&#xff1f;得反问三轮…...

别再让Excel导入报错!用EasyExcel+自定义监听器搞定6种数据校验(附完整代码)

用EasyExcel构建企业级Excel导入校验体系的实战指南 每次运营人员上传Excel表格时&#xff0c;后台服务就像在拆盲盒——你永远不知道会收到格式混乱的数据、缺失的字段还是重复的记录。传统的数据校验方式往往在全部读取完成后才进行验证&#xff0c;这不仅浪费服务器资源&…...

软件定义无线电与认知无线电技术解析及应用

1. 无线通信技术演进&#xff1a;从硬件定义到软件智能 三十多年前&#xff0c;当我第一次以初级射频工程师的身份踏入实验室时&#xff0c;我们还在使用分立晶体管搭建电路&#xff0c;一个简单的接收机可能需要花费数周时间手工调试。如今&#xff0c;我的智能手机里集成了数…...

MHVideoPhotoGallery未来展望:iOS图片视频处理技术的发展趋势

MHVideoPhotoGallery未来展望&#xff1a;iOS图片视频处理技术的发展趋势 【免费下载链接】MHVideoPhotoGallery A Photo and Video Gallery 项目地址: https://gitcode.com/gh_mirrors/mh/MHVideoPhotoGallery MHVideoPhotoGallery作为一款专注于iOS平台的图片视频处理…...

告别NeRF的漫长等待:用3DGS+SAM实现毫秒级3D物体分割(附SAGA开源代码解读)

告别NeRF的漫长等待&#xff1a;用3DGSSAM实现毫秒级3D物体分割&#xff08;附SAGA开源代码解读&#xff09; 在3D视觉领域&#xff0c;实时交互式分割一直是个棘手的问题。想象一下&#xff0c;当你需要从复杂的3D场景中快速提取某个特定物体时&#xff0c;传统基于NeRF的方法…...