《LeetCode力扣练习》代码随想录——二叉树(二叉树的递归遍历—Java)
刷题思路来源于 代码随想录
144. 二叉树的前序遍历
-
二叉树
/** * 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> preorderTraversal(TreeNode root) { if(root==null){ return new ArrayList<Integer>(); } List<Integer> result=new ArrayList<>(); recursion(root,result); return result; } private void recursion(TreeNode root,List<Integer> result){ if(root==null){ return; } result.add(root.val); recursion(root.left,result); recursion(root.right,result); return; } }
145. 二叉树的后序遍历
-
二叉树
/** * 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> postorderTraversal(TreeNode root) { if (root == null) { return new ArrayList<Integer>(); } List<Integer> result = new ArrayList<>(); recursion(root, result); return result; } private void recursion(TreeNode root, List<Integer> result) { if (root == null) { return; } recursion(root.left, result); recursion(root.right, result); result.add(root.val); return; } }
94. 二叉树的中序遍历
-
二叉树
/** * 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) { if (root == null) { return new ArrayList<Integer>(); } List<Integer> result = new ArrayList<>(); recursion(root, result); return result; } private void recursion(TreeNode root, List<Integer> result) { if (root == null) { return; } recursion(root.left, result); result.add(root.val); recursion(root.right, result); return; } }