144. 二叉树的前序遍历 - 力扣(LeetCode)
/*** 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) {List<Integer> res = new ArrayList<>();if (root == null) return res;traversal(root, res);return res;}private void traversal(TreeNode root, List<Integer> res) {if (root == null) return;res.add(root.val);traversal(root.left, res);traversal(root.right, res);}
}
145. 二叉树的后序遍历 - 力扣(LeetCode)
/*** 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) {List<Integer> res = new ArrayList<>();if (root == null) return res;traversal(root, res);return res;}private void traversal(TreeNode root, List<Integer> res) {if (root == null) return;traversal(root.left, res);traversal(root.right, res);res.add(root.val);}
}
94. 二叉树的中序遍历 - 力扣(LeetCode)
/*** 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> res = new ArrayList<>();if (root == null) return res;traversal(root, res);return res;}private void traversal(TreeNode root, List<Integer> res) {if (root == null) return;traversal(root.left, res);res.add(root.val);traversal(root.right, res);}
}