news 2026/4/16 17:08:00

A.每日一题——94. 二叉树的中序遍历

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A.每日一题——94. 二叉树的中序遍历

题目链接:94. 二叉树的中序遍历(简单)

算法原理:

解法一:递归

0ms击败100.00%

时间复杂度O(N)

思路很简单,就是按照“左根右”的顺序递归即可

下面这篇博客有详细解析👇目录位置:二叉树→二叉树的遍历→中序遍历(递归写法)

Java数据结构——7.二叉树《干货笔记》

解法二:栈

1ms击败21.93%

时间复杂度O(N)

就是再前序遍历回溯到根节点时再顺便存一下

解法一的博客里也有详细解析,目录位置:OJ面试题→二叉树中序非递归遍历

Java代码:

/** * 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 { //解法一:递归 List<Integer> ret; public List<Integer> inorderTraversal(TreeNode root) { ret=new LinkedList<>(); dfs(root); return ret; } private void dfs(TreeNode node){ if(node==null) return; dfs(node.left); ret.add(node.val); dfs(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 { //解法二:栈 List<Integer> ret; public List<Integer> inorderTraversal(TreeNode root) { ret=new LinkedList<>(); dfs(root); return ret; } private void dfs(TreeNode node){ if(node==null) return; Stack<TreeNode> stack=new Stack<>(); TreeNode cur=node; while(cur!=null||!stack.isEmpty()){ while(cur!=null){ stack.push(cur); cur=cur.left; } TreeNode top=stack.pop(); ret.add(top.val); cur=top.right; } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:37:10

振动器-Android studio软件源代码-java语言

振动器 App 简介与使用说明 一、软件简介 &#x1f4f1; 软件定位 本软件是一款基于 Android 系统的多功能振动控制应用&#xff0c;通过调用设备振动马达&#xff0c;提供多种预设振动模式和高度自定义的振动编辑功能&#xff0c;满足用户在提醒、反馈、娱乐等场景下的多样化…

作者头像 李华
网站建设 2026/4/16 7:35:52

人工智能应用- 人机对战:04. 蒙特卡洛树搜索

蒙特卡洛树搜索&#xff08;MCTS&#xff09;是 AlphaGo 成功的核心技术之一。围棋中的最大挑战在于如何评估当前局势&#xff0c;而MCTS 通过模拟走棋到终局来进行评估。为了提高模拟走棋的效率&#xff0c;MCTS 并不会扩展所有可能的路径&#xff0c;而是通过随机采样的…

作者头像 李华
网站建设 2026/4/15 15:54:58

雨量监测站 雨量实时监测系统

问&#xff1a;这款翻斗式自动雨量站的核心定位是什么&#xff1f;为什么能被称为防汛抗旱的“千里眼”&#xff1f;答&#xff1a;核心定位是全自动高精度雨量监测终端&#xff0c;主打“精准采集、稳定运行、免维护、低功耗”&#xff0c;专为防汛抗旱、水资源监测设计&#…

作者头像 李华
网站建设 2026/4/15 20:19:24

拖延症福音 10个AI论文网站测评:MBA毕业论文写作+格式规范全攻略

在当前学术研究日益数字化的背景下&#xff0c;MBA学员在撰写毕业论文时面临诸多挑战&#xff0c;如选题构思困难、文献资料繁杂、格式规范不熟悉以及写作效率低下等问题。为帮助更多学生高效完成论文任务&#xff0c;本次测评基于2026年的实测数据与用户真实反馈&#xff0c;全…

作者头像 李华
网站建设 2026/4/16 7:38:21

JumpServer API 使用指南

JumpServer 是开源的堡垒机系统,本文档介绍如何通过 API 进行自动化管理。 一、API 认证方式 JumpServer 支持多种认证方式: 认证方式 说明 适用场景 Session 登录后使用 session_id Web 页面 Token 一次性 Token,有有效期 临时调用 Private Token 永久 Token 脚本调用 Acc…

作者头像 李华
网站建设 2026/4/16 9:06:33

互联网大厂Java求职面试实战:从Spring Boot到AI技术的全栈考察

互联网大厂Java求职面试实战&#xff1a;从Spring Boot到AI技术的全栈考察 本文通过模拟互联网大厂Java岗位的求职面试&#xff0c;展现了严肃的面试官与搞笑的水货程序员谢飞机之间的问答。场景涵盖电商与内容社区的业务背景&#xff0c;问题围绕Java核心技术栈、微服务架构、…

作者头像 李华