LeetCode94.二叉树的中序遍历

题目

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。

示例 :

请添加图片描述

输入:root = [1,null,2,3]
输出:[1,3,2]

思路

中序遍历的顺序是左子树 -> 根节点 -> 右子树。因此,我们可以通过递归的方式遍历二叉树,并将节点值依次添加到一个向量中,最终返回这个向量即可。
具体的实现步骤如下:

  1. 定义一个辅助函数inorderTraversalHelper(TreeNode* root, vector& res),用于实现递归过程。该函数接收两个参数:当前节点root和存储结果的向量res。
  2. 在inorderTraversalHelper函数中,首先判断当前节点是否为空,如果为空则直接返回。
  3. 接着,递归地遍历当前节点的左子树,并将遍历结果添加到res中。
  4. 然后,将当前节点的值添加到res中。
  5. 最后,递归地遍历当前节点的右子树,并将遍历结果添加到res中。
  6. 在inorderTraversal函数中,创建一个空向量res,然后调用inorderTraversalHelper函数,最终返回res即可。

Code:

class Solution {
public:vector<int> inorderTraversal(TreeNode* root) {vector<int> res;inorderTraversalHelper(root, res);return res;}private:void inorderTraversalHelper(TreeNode* root, vector<int>& res) {if (!root) {return;}inorderTraversalHelper(root->left, res);res.push_back(root->val);inorderTraversalHelper(root->right, res);}
};

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

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

相关文章

《白话C++》第8章 8.4.1 INI文件简介,8.4.2面向过程的设计 Page 761

以下是一个INI例子文件的内容&#xff1a; [DISPLAY_SETTING] #是否显示启动窗口&#xff1a; will_show_splash_window yes default_title welcom... [NETWORK_SETTING] svc_host www.d2school.com svc_port 80 带中括号的行代表一个“配置段&#xff08;section&#x…

[word] word 怎样批量把英文单词的首字母全部改成大写 #笔记#其他#学习方法

word 怎样批量把英文单词的首字母全部改成大写 word在处理长文档的过程中&#xff0c;有时候一个单词在多页重复出现。如果要把该单词的首字母改成大写&#xff0c;如果一个一个的改&#xff0c;费时费力。 方法&#xff1a;替换功能 如&#xff1a;我要把camtasia批量改成C…

【riscv】使用qemu运行riscv裸机freestanding程序

文章目录 1. 运行显示2. 工具准备3. 裸机代码和编译3.1 源码3.2 编译 4. 使用qemu仿真运行riscv裸机程序 1. 运行显示 详见左下角&#xff0c; 运行时串口输出的字符 A ; 2. 工具准备 # for riscv64-linux-gnu-gcc sudo apt-get install gcc-riscv64-linux-gnu# for qemu-s…

P6279 题解

P6279 题解 Overview 结论&#xff08;待论证&#xff09; Description 给定一个有向图&#xff0c;这个有向图的每一个点所连接的点都属于同一个集合。 求集合数量最大且字典序最小的集合标号方案。 Solution 先讲结论。 结论&#xff1a;用 vector 存储每个点所连接的…

Spring Cloud Sleuth:分布式链路跟踪

1. 理解分布式链路跟踪 1.1 什么是分布式链路跟踪 在分布式系统中&#xff0c;由于服务间的调用涉及多个节点和网络通信&#xff0c;出现问题时追踪问题的根源变得异常困难。分布式链路跟踪是一种技术&#xff0c;旨在解决这个问题。它允许开发人员追踪分布式系统中请求的流转…

C#是什么?可以用来做什么?

C#是什么&#xff1f;可以用来做什么&#xff1f; C#简介 C#&#xff08;读作“C Sharp”&#xff09;是一种容易使用不复杂新型的编程语言&#xff0c;不仅是面向对象&#xff0c;它的类型还安全。C# 源于 C 语言系列&#xff0c;C、C、Java 和 JavaScript 程序员很快就可以上…

适用于高云FPGA的JTAG

目标板卡&#xff1a;小梅哥芯海无涯GOWIN高云ACG525(GW5A-LV25UG324) 1.软件要求&#xff1a;必须用商业版&#xff0c;因为教育版(V1.9.9Beta-4 Education)不支持此封装的GW5A。商业版需要上网申请License&#xff0c;此处提供D4D853392AD8.lic文件&#xff08;此方法为临时…

Linux ----防火墙值SNAT与DNAT

一、SNAT ①SNAT 应用环境: 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) ②SNAT原理: 源地址转换&#xff0c;根据指定条件修改数据包的源IP地址&#xff0c;通常被叫做源映射 数据包从内网发送到公网时&#xff0c;SNAT会把数据包的源IP由…

基于stm32F103的蜂鸣器周期发声实验

蜂鸣器作为一种声音报警器件,应用广泛。本实验基于stm32F103单片机,通过控制蜂鸣器的IO口电平电压,使其周期性地进行电平翻转,从而驱动蜂鸣器发出周期性的鸣叫声。该实验主要运用了stm32的GPIO和定时器TIM的相关功能,不仅可以巩固这些外设的使用,也可以通过改变时间参数,控制蜂…

档案数字化加工涉密资质申请

等级介绍 涉密印制资质分为甲级和乙级两个等级。甲级资质单位可以从事绝密级、机密级和秘密级涉密印制业务。乙级资质单位可以从事机密级、秘密级涉密印制业务。 类别介绍 涉密印制资质包括涉密文件资料、国家统一考试试卷、涉密防伪票据证书、涉密光电磁介质、 涉…

题目 1138: C语言训练-求矩阵的两对角线上的元素之和

问题描述&#xff1a; 求矩阵的两对角线上的元素之和 样例输入&#xff1a; 3 1 2 3 4 5 6 7 8 9 样例输出&#xff1a; 25 问题分析&#xff1a; 因为奇数阶矩阵的主对角线和副对角线上的元素有重复&#xff0c;偶数阶矩阵的主对角线和副对角线上的元素无重复&#x…

软件测试面试题汇总

一、面试基础题 简述测试流程: 1、阅读相关技术文档&#xff08;如产品PRD、UI设计、产品流程图等&#xff09;。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例&#xff08;等价类划分法、边界值分析法等&#xff09;。 5、用例评审(…

OpenHarmony JS和TS三方组件使用指导

OpenHarmony JS和TS三方组件介绍 OpenHarmony JS和TS三方组件使用的是OpenHarmony静态共享包&#xff0c;即HAR(Harmony Archive)&#xff0c;可以包含js/ts代码、c库、资源和配置文件。通过HAR&#xff0c;可以实现多个模块或者多个工程共享ArkUI组件、资源等相关代码。HAR不…

文件上传漏洞--Upload-labs--Pass07--点绕过

一、什么是点绕过 在Windows系统中&#xff0c;Windows特性会将文件后缀名后多余的点自动删除&#xff0c;在网页源码中&#xff0c;通常使用 deldot()函数 对点进行去除&#xff0c;若发现网页源代码中没有 deldot() 函数&#xff0c;则可能存在 点绕过漏洞。通过点绕过漏洞&…

响应式编程要点 (Java)

整体学习概览 前置知识函数式编程Lambda表达式实践、Java8 Stream Api的使用响应式编程的原理和思想Reactive Stream的思想和Api实践Reactor思想和Api实践WebFlux的使用SpringData R2DBC 前置知识&#xff1a;函数式编程 函数式编程要点-CSDN博客 响应式编程原理和思想 全链…

SwiftUI 更自然地向自定义视图传递参数的“另类”方式

概览 在 SwiftUI 中&#xff0c;正是自定义视图让我们的 App 变得与众不同&#xff01;然而&#xff0c;除了传统的视图接口定义方式以外&#xff0c;我们其实还可以有更“银杏化”的选择。 如上图所示&#xff1a;对于 SubView 子视图所需的参数我们一开始并没有操之过急&…

[office] excel成绩表格数据排名次的教程 #职场发展#知识分享#媒体

excel成绩表格数据排名次的教程 Excel中经常需要使用到排名次的技巧&#xff0c;成绩表格数据具体该如何排名呢?接下来是小编为大家带来的excel成绩表格数据排名次的教程&#xff0c;供大家参考。 excel成绩表格数据排名次教程(一) 步骤1&#xff1a;不管在学校还是各个统计领…

MySQL8的ONLY_FULL_GROUP_BY SQL模式兼容问题

文章目录 1. 问题描述2. 解决方法1. 修改查询2. 修改SQL模式3. 使用ANY_VALUE()函数 1. 问题描述 Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column btc-cloud.t1.id which is not funct…

网络入山太困难?看格行随身WiFi如何助力大山教育!

近日&#xff0c;一则关于偏远大山的上网问题冲上了热搜&#xff0c;引发了社会关注。虽然很多山区都已经通了电、通了网&#xff0c;但是在一些贫困的地区&#xff0c;网络基础设施依旧薄弱&#xff0c;村民想要使用固定宽带&#xff0c;仍然十分困难。 而在山区的学生们&…

【漏洞复现】H3C Web网管登录任意文件读取漏洞

Nx01 产品简介 H3C设备的Web网管是指H3C公司生产的网络设备的网络管理界面。它可以通过Web浏览器进行访问和操作&#xff0c;以实现对网络设备的配置、管理和监控。 Nx02 漏洞描述 jquery旧版本存在任意文件读取漏洞&#xff0c;允许攻击者在受害者的服务器上读取任意文件。H3…