94. 二叉树的中序遍历 --力扣 --JAVA
题目
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。
解题思路
- 中序遍历的顺序为左中右;
- 通过递归来遍历左子树、添加数据、遍历右子树;
代码展示
package zero.zero.nine;import java.util.ArrayList;
import java.util.List;/*** 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。*/
public class Four {public static void main(String[] args) {Four four = new Four();TreeNode root = new TreeNode(1,null,new TreeNode(2,new TreeNode(3), null));System.out.println(four.inorderTraversal(root));System.out.println(four.inorderTraversal(null));System.out.println(four.inorderTraversal(new TreeNode(1)));}public List<Integer> inorderTraversal(TreeNode root) {List<Integer> ans = new ArrayList<>();traversal(root, ans);return ans;}public void traversal(TreeNode root, List<Integer> data){if(root == null){return;}//中序遍历结果为左中右//递归遍历左子树if(root.left != null){traversal(root.left, data);}data.add(root.val);//递归遍历右子树if(root.right != null){traversal(root.right, data);}}
}
class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val = val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}
}
相关文章:
94. 二叉树的中序遍历 --力扣 --JAVA
题目 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 解题思路 中序遍历的顺序为左中右;通过递归来遍历左子树、添加数据、遍历右子树; 代码展示 package zero.zero.nine;import java.util.ArrayList; import java.util.List;/*** …...
webpack babel
构建工具 简介 当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如:不能放心的使用模块化规范(浏览器兼容性问题)、即使可以使用模块化规范也会面临模块过多时的加载问题。我们…...
autollm 指令设计
autollm 指令设计 可循环示意图文本 示意图AI解释可循环示意图 文本 示意图 # <|aos|>环境<|bos|>他人<|cos|>自己<|dos|>表示是否进行写python 代码来从外界获取辅助数据来重构 前面所有的信息<|eos|>代表是否生成python 代码控制各种外审设备…...
浙江大学漏洞报送证书
获取来源:edusrc(教育漏洞报告平台) url:主页 | 教育漏洞报告平台 兑换价格:20金币 获取条件:提交浙江大学任意中危或以上级别漏洞...
ROS 学习应用篇(三)服务Server学习之Server
话题Topic是订阅器与发布器节点之间的,而服务则是客户端(Client)和服务器(Server)间的,前者是异步的,后者是同步的。而且话题是单项的不需要服务器上线,而服务是双向的。在开启服务之…...
vue+css动画 实现文字的上下轮播切换
突然间碰到一个比较丝滑的特效,就研究了一下想把它实现出来。 效果:渐隐消失,底部往上走覆盖出现 以下是完整代码,复制粘贴即可运行 <template><div class="aaa"><divclass="page1":class="{ private-fade-out: prevIndex === 1…...
debian/ubuntu/windows配置wiregurad内网服务器(包含掉线自启动)
文章目录 前言一、服务器配置安装wireguard软件生成私钥公钥配置服务器参数配置服务器sysctl参数启动、停止服务端 二、用户端配置安装wireguard软件生成私钥公钥配置客户端参数启动、停止客户端配置服务开机启动 三、服务器添加、删除客户四、配置掉线自启动配置掉线自启动脚本…...
LeetCode146.LRU缓存
写了一个小时,终于把示例跑过了,没想到啊提交之后第19/22个测试用例没过 我把测试用例的输出复制在word上看看和我的有什么不同,没想到有18页的word,然后我一直检查终于找出了问题,而且这个bug真的太活该了,…...
5-7 使用函数求余弦函数的近似
实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:…...
Kotlin HashMap entries.filter过滤forEach
Kotlin HashMap entries.filter过滤forEach fun main(args: Array<String>) {val hashMap HashMap<String, Int>()hashMap["a"] 1hashMap["b"] 2hashMap["c"] 3println(hashMap)hashMap.entries.filter {println("filter $…...
css的预处理
CSS的预处理器是一种CSS的扩展,可以让开发者使用更加高效、灵活的方式来编写CSS代码。 常用的CSS预处理器包括: Sass:基于Ruby的CSS预处理器,提供了大量的函数和变量等扩展功能。 Less:基于JavaScript的CSS预处理器&…...
[云原生案例2.2 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】网络插件部分
文章目录 1. Kubernetes的网络类别2. Kubernetes的接口类型3. CNI网络插件 ---- Flannel的介绍及部署3.1 简介3.2 flannel的三种模式3.3 flannel的UDP模式工作原理3.4 flannel的VXLAN模式工作原理3.5 Flannel CNI 网络插件部署3.5.1 上传flannel镜像文件和插件包到node节点3.5.…...
Go开发基础环境搭建
前面,我们写了下关于GO的入门简介,今天我们打算实操,在实操之前需要准备下基础环境。 IDE开发工具 GoLand 是一款由捷克软件开发公司 JetBrains 专为 Go 开发的跨平台商业 IDE。Goland 具有 Strong Code Insight、Navigation & Search、…...
Vue简单使用Echart图表柱形图 vue使用柱形图 vue使用 echart图表柱形图 vue使用柱形图
Vue简单使用Echart图表柱形图 vue使用柱形图 vue使用 echart图表柱形图 vue使用柱形图 1、安装依赖2、页面Demo使用3、效果图 1、安装依赖 官方文档:https://echarts.apache.org/zh/option.html#title 官方在线示例:https://echarts.apache.org/exampl…...
centos 7.9系统安装老版本jenkins,并解决插件问题
1.初衷 因为jenkins随着时间推移,其版本也越来越新,支持它运行的JDK也越来越新。基于不折腾的目标,我们安装一个老的固定版本就行。以前安装新版本,经常碰到的问题就是插件安装不兼容的问题。现在这个问题,可以把以前…...
BMVC 23丨多模态CLIP:用于3D场景问答任务的对比视觉语言预训练
来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2306.02329 摘要: 训练模型将常识性语言知识和视觉概念从 2D 图像应用到 3D 场景理解是研究人员最近才开始探索的一个有前景的方向。然而,…...
《嵌入式虚拟化技术与应用》:深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!
目录 关于博主前言专家推荐本书适合谁?内容简介书本目录权威作者团队其他 关于博主 🚀Python爬虫项目实战系列文章!! ⭐⭐欢迎订阅⭐⭐ 【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认…...
【Java开发】之获取客户端真实 IP 地址
一、应用场景 在投票系统开发中,为了防止刷票,我们需要限制每个 IP 地址只能投票一次;当网站受到诸如 DDoS(Distributed Denial of Service,分布式拒绝服务攻击)等攻击时,我们需要快速定位攻击者…...
Linux RPM包安装、卸载和升级
我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。 RPM包默认安装路径 通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所…...
ROS 多级tf坐标转换
题目 现有一移动机器人,该机器人的基坐标系为“base_link”,机器人包含3个子坐标系分别为“joint1”,“joint2”,“joint3”。 要求:利用多坐标转换,实现joint1下的坐标向joint2下的坐标转换,…...
(一)openEuler的安装和使用基础
一、官网下载openEuler镜像 1.进入官网,点击如图 2.点击所有版本 3.这里学习使用openEuler 22.03 LTS SP2,前往下载 4.选择自己主机用的架构,我这里是x86_64,下载标准版 二、搭建openEuler虚拟机 1.创建新的虚拟机 2.选择自定义…...
速德瑞313/340/351nm紫外检测仪器全适配JJF 2132—2024
JJF2132—2024《荧光紫外灯人工气候老化试验装置校准规范》于2024年12月14日正式实施,核心监测波段升级为340nm、351nm、313nm,同时明确310通道和340通道监测要求。速德瑞准确响应新规,不仅推出匹配310/340nm波段的氙灯辐照计,更构…...
Echarts中国地图进阶:利用visualMap组件实现数据驱动的省份色彩渲染
1. 为什么需要visualMap组件? 当你第一次看到用颜色深浅表示数据差异的中国地图时,有没有想过这种效果是怎么实现的?我在处理某省疫情数据可视化时就遇到过这个需求:需要让不同风险等级的区域自动显示对应颜色。传统做法是手动给每…...
使用Java代码,httpclient调用彩云天气接口-token版本
彩云API参考链接:https://docs.caiyunapp.com/weather-api/v2/v2.6/1-realtime.html 本文为token版本,若需要Appkey&AppSecret认证版本请参考V3API认证与鉴权 一、引入 Maven 依赖 <!-- httpclient --> <dependency><groupId>o…...
全体技术人做好随时涨薪的准备吧!
大家都在说行业寒冬,降薪裁员不断……但为什么还有人薪资翻倍、Offer拿到手软?!👇🏻DeepSeek 开出154万年薪抢大模型工程师;腾讯、字节大模型岗位涨幅普遍超过30%各大厂开放招聘技术岗,80%与AI相…...
Python3 WebSocket实战:从基础连接到异步高并发,主流模块选型指南
1. WebSocket基础与Python模块选型指南 第一次接触WebSocket时,我被它和HTTP的长轮询对比惊艳到了。想象一下咖啡馆里两个朋友的对话:HTTP就像每次问"有新消息吗?"都要重新打招呼,而WebSocket则是一次握手后就能持续聊天…...
更高层次的语言都是建立在C语言的基础之上吗?
更高层次的语言都是建立在C语言的基础之上吗?更高层次的语言的标准库(基础库)都是建立在C语言的标准库(基础库)基础之上吗 注意,问题有两个部分: 一是语言本身是否建立在C基础上, 二是标准库是否建立在C标准库基础上。 需要区分&a…...
避开二轴机械臂动力学建模的坑:摩擦、噪声与激励轨迹设计实战
二轴机械臂动力学建模实战:从摩擦处理到激励轨迹设计的工程精要 在工业自动化与协作机器人快速发展的今天,精确的动力学建模已成为实现高精度控制的基础。不同于教科书中的理想化推导,真实机械臂建模过程中工程师们常会遇到三大"拦路虎&…...
全志V3s主线Linux内核编译实战:如何为你的Lichee Pi Zero定制驱动与功能模块
全志V3s主线Linux内核深度定制指南:从驱动裁剪到外设适配实战 在嵌入式Linux开发领域,全志V3s凭借其出色的性价比和丰富的外设接口,成为众多创客和开发者的首选平台。Lichee Pi Zero作为V3s的代表性开发板,其开源生态日益完善&…...
深入调试:用逻辑分析仪抓取NRF52832 ESB与NRF24L01通信的完整时序(附波形分析)
深入调试:用逻辑分析仪抓取NRF52832 ESB与NRF24L01通信的完整时序(附波形分析) 当你的NRF52832发送了数据,但NRF24L01毫无反应,或者应答超时,这种硬件层的通信问题往往让人抓狂。本文将从硬件调试的视角&am…...
