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

【LeetCode】94. 二叉树的中序遍历

94. 二叉树的中序遍历

难度:简单

题目

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

示例 1:

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

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

个人题解

方法一:递归

递归,最简单的前中后序遍历方式

/*** Definition for a binary tree node.* public 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;*     }* }*/
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> result = new ArrayList<>();process(result, root);return result;}public void process(List<Integer> result, TreeNode node) {if (node == null) {return;}process(result, node.left);result.add(node.val);process(result, node.right);}
}

方法二:迭代

/*** Definition for a binary tree node.* public 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;*     }* }*/
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<>();Deque<TreeNode> stack = new LinkedList<>();TreeNode cur = root;while (cur != null || !stack.isEmpty()) {while (cur != null) {stack.push(cur);cur = cur.left;}cur = stack.pop();res.add(cur.val);cur = cur.right;}return res;}
}
http://www.lryc.cn/news/233455.html

相关文章:

  • IP-guard WebServer 命令执行漏洞复现
  • TensorFlow案例学习:图片风格迁移
  • 解密网络世界的秘密——Wireshark Mac/Win中文版网络抓包工具
  • 自学ansible笔记
  • 笔记53:torch.nn.rnn() 函数详解
  • 【Spring】使用三方包进行数据源对象(数据库)管理
  • EfficientNet:通过模型效率彻底改变深度学习
  • asp.net core mvc之 布局
  • 【QT HTTP】使用QtNetwork模块制作基于HTTP请求的C/S架构
  • R语言绘制精美图形 | 火山图 | 学习笔记
  • 远程创建分支本地VScode看不到分支
  • python后台框架简介
  • spring boot validation使用
  • Hadoop3.3.4分布式安装
  • SQL ALTER TABLE 语句||SQL AUTO INCREMENT 字段
  • 【源码系列】短剧系统开发国际版短剧系统软件平台介绍
  • JavaWeb[总结]
  • 如何解决小程序异步请求问题
  • NSSCTF第12页(3)
  • 基于ssm+vue交通事故档案系统
  • DNS1(Bind软件)
  • PDF自动打印
  • 【C#】类型转换-显式转换:括号强转、Parse法、Convert法、其他类型转string
  • 【智能家居】4、智能家居框架设计和代码文件工程建立
  • 【GAN】数据增强基础知识
  • Skywalking流程分析_3(服务的准备、启动、关闭)
  • mysql中的各种日志文件redo log、undo log和binlog
  • 【电视剧-长相思】经典语录
  • 串口通信原理及应用
  • python爬取穷游网景点评论