描述
操作给定的二叉树,将其变换为源二叉树的镜像。
比如: 源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5
示例1
输入:{8,6,10,5,7,9,11}
返回值:{8,10,6,11,9,7,5}
看到二叉树首要想到递归
public TreeNode Mirror (TreeNode pRoot) {
//如果树是空的,直接返回空结点
if(pRoot == null){
return pRoot;
}
//如果只有根节点,直接返回根节点
if(pRoot.left==null && pRoot.right == null) return pRoot;
//交换结点
TreeNode temp = pRoot.right;
pRoot.right = pRoot.left;
pRoot.left = temp;
//进入递归
Mirror(pRoot.left);
Mirror(pRoot.right);
return pRoot;
}