算法1
前序遍历二叉树,递归
先前序遍历二叉树的每个节点,如果遍历到的节点有子节点,就交换他的两个子节点
当交换完所有非叶节点的左右子节点之后,就得到了镜像
JAVA 代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public void mirror(TreeNode root) {
if(root==null)
return;
if(root.left==null&&root.right==null)
return;
TreeNode tmp = root.left;
root.left = root.right;
root.right = tmp;
if(root.left!=null)
mirror(root.left);
if(root.right!=null)
mirror(root.right);
}
}