public class invertTree {
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public static void main(String[] args) {
TreeNode node1 = new TreeNode(1);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(3);
TreeNode node4 = new TreeNode(4);
TreeNode node5 = new TreeNode(5);
TreeNode node6 = new TreeNode(6);
node1.left = node2;
node1.right = node3;
node2.left = node4;
node2.right = node5;
node3.right = node6;
preOrder(node1);
TreeNode root = invertTree(node1);
preOrder(root);
}
public static TreeNode invertTree(TreeNode root) {
if (root == null){
return root;
}
TreeNode temp=root.left;
root.left = invertTree(root.right);
root.right = invertTree(temp);
return root;
}
public static void preOrder(TreeNode root){
if(root != null){
System.out.print(root.val);
preOrder(root.left);
preOrder(root.right);
}
}
public static void inOrder(TreeNode root){
if(root != null){
inOrder(root.left);
inOrder(root.right);
}
}
public static void postOrder(TreeNode root){
if(root != null){
System.out.println(root.val);
postOrder(root.left);
postOrder(root.right);
}
}