翻转一棵二叉树。
示例:
输入:
4
/ \
2 7
/ \ / \
1 3 6 9
输出:
4
/ \
7 2
/ \ / \
9 6 3 1
==========================================================================================
二叉树就要用到递归思想,这个就是对二叉树的孩子节点进行递归,然后进行值的交换
代码:
public static void main(String[] args) {
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
root.right.left = new TreeNode(6);
root.right.right = new TreeNode(7);
Per(root);
System.out.println();
TreeNode root2 = invertTree(root);
Per(root2);
}
public static TreeNode invertTree(TreeNode root) {
if(root == null)
return null;
TreeNode left = invertTree(root.right);
TreeNode right = invertTree(root.left);
root.left = left;
root.right = right;
return root;
}
public static void Per(TreeNode root){
if(root == null)
return;
System.out.print(root.val+" ");
Per(root.left);
Per(root.right);
}