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

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.lqws.cn/news/111205.html

相关文章:

  • YOLO训练及数据采集注意事项
  • 力扣HOT100之多维动态规划:5. 最长回文子串
  • 软件评测师 综合测试 真题笔记
  • Spring @Autowired自动装配的实现机制
  • Silky-CTF: 0x02靶场
  • ADI硬件笔试面试题型解析上
  • spring boot应答500问题跟踪
  • 帝可得- 人员管理
  • CppCon 2014 学习:CONVERGENT EVOLUTION
  • Redis线程模型
  • 解决CSDN等网站访问不了的问题
  • Cursor使用最佳实践总结
  • 枫之谷Artale端午节大当机----后端技术的巨大风险
  • 涂装协作机器人:重新定义涂装工艺的智能化未来
  • Matlab回归预测大合集又更新啦!新增2种高斯过程回归预测模型,已更新41个模型!性价比拉满!
  • QGIS 矢量数据属性表中文乱码解决方案:4 步修复编码匹配问题
  • 高性能MCU的MPU与Cache优化详解
  • 降本增效的新引擎:GEO如何提升企业营销ROI
  • SKUA-GOCAD入门教程-第八节 线的创建与编辑2
  • 板凳-------Mysql cookbook学习 (九--3)
  • 大模型的分词器——算法及示例
  • 实战商品订单秒杀设计实现
  • 飞牛fnNAS存储模式RAID 5数据恢复
  • 简单transformer运用
  • 第七章 7.Warm Up Packet Tracer and IOS Basic (CCNA)
  • 中英混合编码解码全解析
  • 线程相关面试题
  • 【Zephyr 系列 5】定时器与低功耗控制:打造省电高效的嵌入式系统
  • 自然语言处理(NLP)的系统学习路径规划
  • IP查询与网络风险的关系