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); } }
标签:144,遍历,List,day14,二叉树,root,public,result From: https://www.cnblogs.com/lipinbigdata/p/17546058.html