力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)

解题思路:
方法一:递归(左中右)
class Solution {List<Integer> res = new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {recur(root);return res;}public void recur(TreeNode root) {if (root == null) return;recur(root.left);res.add(root.val);recur(root.right);}
}
方法二:迭代(非递归法)
前中后序迭代法都是使用栈
前序和后序使用类似的方法
中序方法不同与前序和后序,需要单独区分
cur != null 时,首先 cur = cur.left 遍历到底进行栈push
为空时,回到上一个不为空的位置并弹出该值,继续 cur = cur.left 遍历该值右边的位置
注意while循环条件
class Solution {public List<Integer> inorderTraversal(TreeNode root) {Deque<TreeNode> stack = new ArrayDeque<>();List<Integer> res = new ArrayList<>();if (root == null) return res;TreeNode cur = root;while (cur != null || !stack.isEmpty()) {if (cur != null) {stack.push(cur);cur = cur.left;} else {cur = stack.pop();res.add(cur.val);cur = cur.right;}}return res;}
}
相关文章:
力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)
解题思路: 方法一:递归(左中右) class Solution {List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {recur(root);return res;}public void recur(TreeNode root…...
删除缓存之后,浏览器显示登录新设备
小小记录一下问题,清c盘正好就遇到了【答案AI生成】 清除c盘缓存,浏览器所有页面都需要重新登录,并在登录之后显示登录了新设备是为什么,是因为鉴权更新了就算新设备吗? 回答 清除C盘缓存后,浏览器所有页…...
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04目录1. Alopex: A Computational Framework for Enabling On-Device Function Calls with LLMs摘要:研究背景&…...
Stable diffusion详细讲解
🌺系列文章推荐🌺 扩散模型系列文章正在持续的更新,更新节奏如下,先更新SD模型讲解,再更新相关的微调方法文章,敬请期待!!!(本文及其之前的文章均已更新&…...
软件工程期末复习-用例建模
1、为什么需要用例建模 2、用例建模的表示 3、一个例子,ATM用例图 4、什么是用例? 5、用例包含的软件需求 6、参与者的定义 7、交互<->关联 8、用例建模的步骤 9、确定参与者 10、参与者检查项 11、MINILibrary...
【Golang】——Gin 框架中的表单处理与数据绑定
在 Web 应用开发中,表单是用户与服务器交互的重要手段。Gin 框架对表单处理提供了高效便捷的支持,包括数据绑定、验证等功能。在本篇博客中,我们将详细介绍如何使用 Gin 框架处理表单数据,涵盖基础操作与进阶技巧,帮助…...
hive-内部表外部表-详细介绍
1、表类型介绍 内部表: 表面来看,我们建的所有的表,默认都是内部表,内部表又叫做管理表,它的位置也很固定/user/hive/warehouse下面。 外部表: 创建的时候需要加关键字external 修饰,而且&a…...
Windows系统 ElasticSearch,分词器、Kibana安装
目录 1.wins安装ElasticSearch1.下载es安装包2.下载分词器3.注意事项4.学会看报错日志 2.将 elasticsearch 以服务的方式安装安装ES解压到根盘符下,如C或E盘等,因为 E:\Program Files文件夹下的都是默认的只读权限,所以换到没有只读权限&…...
黑马智数Day10
项目背景说明 后台管理部分使用的技术栈是Vue2,前台可视化部分使用的技术栈是Vue3 前台可视化项目不是独立存在,而是和后台管理项目共享同一个登录页面 微前端的好处 微前端是一种前端架构模式,它将大型单体应用程序分解为小的、松散耦合的…...
网络传输:网卡、IP、网关、子网掩码、MAC、ARP、路由器、NAT、交换机
目录 网卡IP网络地址主机地址子网子网掩码网关默认网关 MACARPARP抓包分析 路由器NATNAPT 交换机 网卡 网卡(Network Interface Card,简称NIC),也称网络适配器。 OSI模型: 1、网卡工作在OSI模型的最后两层,物理层和数据链路层。物…...
MySQL45讲 第二十四讲 MySQL是怎么保证主备一致的?——阅读总结
文章目录 MySQL45讲 第二十四讲 MySQL是怎么保证主备一致的?——阅读总结一、MySQL 主备基本原理(一)主备切换流程(二)主备数据同步流程 二、binlog 格式及相关问题(一)binlog 的三种格式&#…...
Visual Studio 圈复杂度评估
VisualStudio自带的有工具 之后就可以看到分析结果...
Springboot之登录模块探索(含Token,验证码,网络安全等知识)
简介 登录模块很简单,前端发送账号密码的表单,后端接收验证后即可~ 淦!可是我想多了,于是有了以下几个问题(里面还包含网络安全问题): 1.登录时的验证码 2.自动登录的实现 3.怎么维护前后端…...
golang调用模组程序实现交互输入自动化,获取imei及iccid
应用场景:在openwrt下调用移远的测试程序,并实现输入自动话,获取imei rootOpenWrt:~# ql-api-test Test groups:0: ql_dsi1: ql_nw2: ql_sim3: ql_dev4: ql_voice5: ql_sms6: ql_adc7: ql_i2c8: …...
ACE之单例
单例簇 使用双重锁检查优化 #mermaid-svg-RMOXQ0KMo0VnJe7V {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RMOXQ0KMo0VnJe7V .error-icon{fill:#552222;}#mermaid-svg-RMOXQ0KMo0VnJe7V .error-text{fill:#552222…...
泷羽sec学习打卡-云技术基础1-docker
声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于云技术基础的那些事儿-Base1 一、云技术基础什么是云架构?什么是云服务?什么…...
7天掌握SQL - 第一天:数据库基础与SQL入门
目标 在本章节中,我们将学习数据库的基本概念和SQL语言的基础操作,为后续的深入学习打下坚实的基础。 一级目录 数据库基本概念SQL语言基础SQL操作实践推荐资源总结 1. 数据库基本概念 1.1 表(Table) 表是数据库中存储数据的…...
A037-基于Spring Boot的二手物品交易的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
【异常记录】Junitmock之InvalidUseOfMatchersException异常
mock之InvalidUseOfMatchersException异常 新手小白对mock一知半解,就开始自测了,被这个InvalidUseOfMatchersException困扰了一晚上。排查了好久,大多数文章都把英文翻译了一遍,但自检无问题。最后发现是,注入的时候…...
Spring Boot3自定义starter
1、加入必要依赖 plugins {id javaid org.springframework.boot version 3.2.6id io.spring.dependency-management version 1.1.5 } group org.example.test.starter version 1.1.0jar{enabledtrue// resolveMainClassName }java {toolchain {languageVersion JavaLanguage…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
