6. Binary Tree
Preorder
List<Integer> preorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
preorder(root, result);
return result;
}
private void preorder(TreeNode root, List<Integer> result){
if (root == null){
return;
}
result.add(root.val);
preorder(root.left, result);
preorder(root.right, result);
}public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
if (root == null){
return result;
}
List<Integer> left = preorderTraversal(root.left);
List<Integer> right = preorderTraversal(root.right);
result.add(root.val);
result.addAll(left);
result.addAll(right);
return result;
}Inorder
Postorder
Stack -> Queue
E.X. isBinarySearchTree
Last updated