算法学习day14二叉树part01-94、144、145
package SecondBrush.Tree; import java.util.ArrayList; import java.util.List; /** * 94. 二叉树的中序遍历 * 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 * */ public class BinaryTreeInorderTraversal_94 { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); inorder(root, res); return res; } public void inorder(TreeNode root, List<Integer> result){ if (root == null){ return; } inorder(root.left,result); result.add(root.val); inorder(root.right,result); } }
package SecondBrush.Tree; import java.util.ArrayList; import java.util.List; /** * 145. 二叉树的后序遍历 * 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 * * */ public class BinaryTreePostorderTraversal_145 { public List<Integer> postorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); postorder(root, res); return res; } public void postorder(TreeNode root,List<Integer> result){ if (root == null){ return; } postorder(root.left,result); postorder(root.right,result); result.add(root.val); } }
package SecondBrush.Tree; /** * 144. 二叉树的前序遍历 * 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 * */ import java.util.ArrayList; import java.util.List; /** * 递归法: * 前序遍历,最终输出至一个list里面 * 所以先将 中节点加进去,然后递归root.left,root.right * */ public class BinaryTreePreorderTraversal_144 { public List<Integer> preorderTraversal(TreeNode root){ List<Integer> result = new ArrayList<Integer>(); preorder(root,result); return result; } public void preorder(TreeNode root, List<Integer> result){ if (root == null){ return; } result.add(root.val); preorder(root.left,result); preorder(root.right,result); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能