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

day18 leetcode-hot100-36(二叉树1)

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

1.递归

常见算法,背下来即可

思路

中序遍历的顺序是左右根,因此遍历也是先加入左节点,再加入根节点,最后加入右节点。

具体代码
/*** 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> ans = new ArrayList<>();inorder(root,ans);return ans;}public void inorder(TreeNode n, List<Integer> ans){if(n==null){return;}inorder(n.left,ans);ans.add(n.val);inorder(n.right,ans);}
}

2.迭代

思路

与上面递归一模一样,只不过是显式将栈表达出来

具体代码
/*** 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> ans = new ArrayList<>();Deque<TreeNode> dq = new LinkedList<>();while(root!=null || !dq.isEmpty()){while(root!=null){dq.push(root);root=root.left;}root=dq.pop();ans.add(root.val);root=root.right;}return ans;}
}

http://www.xdnf.cn/news/10784.html

相关文章:

  • tauri项目绕开plugin-shell直接调用可执行文件并携带任意参数
  • 【深度学习】大模型MCP工作流原理介绍、编写MCP
  • 谷歌地图2022高清卫星地图手机版v10.38.2 安卓版 - 前端工具导航
  • 小白的进阶之路系列之十一----人工智能从初步到精通pytorch综合运用的讲解第四部分
  • Franka科研新力量——基于异构预训练Transformer的扩展研究
  • 智能氮气柜的发展历程和前景展望
  • 从基础原理到Nginx实战应用
  • 架构设计的目标:高内聚、低耦合的本质
  • Pointer Network
  • FreeRTOS,其发展历程详细时间线、由来、历史背景
  • STM32学习之WWDG(原理+实操)
  • Go基础|map入门
  • 2025 Java面试大全技术文章(面试题1)
  • ABP-Book Store Application中文讲解 - Part 6: Authors: Domain Layer
  • (三)动手学线性神经网络:从数学原理到代码实现
  • C++初识—面向对象
  • JavaScript async/await指南
  • 亚远景科技助力东风日产通过ASPICE CL2评估
  • 【数据中心设计】
  • Vehicle HAL(3)--VehicleHalManager 分析
  • 【2025年B卷】OD-100分-斗地主之顺子
  • OD 算法题 B卷【跳格子2】
  • MTK的Download agent是什么下载程序?
  • 网络编程(计算机网络基础)
  • MyBatis 的动态 SQL
  • vSOME/IP与ETAS DSOME/IP通信的问题解决方案
  • malloc 内存分配机制:brk 与 mmap
  • MATLAB实战:四旋翼姿态控制仿真方案
  • AcWing 843:n-皇后问题 ← dfs
  • day45 python预训练模型