前序遍历:
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
traverse(root, list);
return list;
}
public void traverse(TreeNode n, List<Integer> list) {
if (n == null) return;
list.add(n.val);
traverse(n.left, list);
traverse(n.right, list);
}
}
后序遍历:
class Solution {
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
traverse(root, list);
return list;
}
public void traverse(TreeNode n, List<Integer> list) {
if (n == null) return;
traverse(n.left, list);
traverse(n.right, list);
list.add(n.val);
}
}
中序遍历:
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
traverse(root, list);
return list;
}
public void traverse(TreeNode n, List<Integer> list) {
if (n == null) return;
traverse(n.left, list);
list.add(n.val);
traverse(n.right, list);
}
}