public class 翻转二叉树 {
public void midIteratorTree(TreeNode treeNode){
if (null==treeNode){
return;
}
System.out.print(treeNode.val+" ");
midIteratorTree(treeNode.left );
midIteratorTree(treeNode.right);
}
public TreeNode invertTree(TreeNode root){
if (null==root){
return root;
}
if (null==root.left&&null==root.right){
return root;
}
invertTree(root.left);
invertTree(root.right);
TreeNode leftTree=root.left;
root.left=root.right;
root.right=leftTree;
return root;
}
public static void main(String[] args) {
TreeNode t1=new TreeNode(4);
TreeNode t2=new TreeNode(2);
TreeNode t3=new TreeNode(7);
TreeNode t4=new TreeNode(1);
TreeNode t5=new TreeNode(3);
TreeNode t6=new TreeNode(6);
TreeNode t7=new TreeNode(9);
t1.left=t2;
t1.right=t3;
t2.left=t4;
t2.right=t5;
t3.left=t6;
t3.right=t7;
翻转二叉树 aa = new 翻转二叉树();
System.out.println("---------");
aa.midIteratorTree(t1);
aa.invertTree(t1);
System.out.println("-----------");
aa.midIteratorTree(t1);
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}