题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \、
6 10
/ \ / \、
5 7 9 11
镜像二叉树
8
/ \、
10 6
/ \ / \、
11 9 7 5
解题思路
递归的思想,交换两个子节点。
public class GlassMe {
public static void main(String[] args) {
}
/**
*
*
* @param pRoot TreeNode类
* @return TreeNode类
*/
public TreeNode Mirror (TreeNode pRoot) {
if(null == pRoot){
return null;
}
if(pRoot.left == null && pRoot.right == null){
return pRoot;
}
TreeNode temp = pRoot.left;
pRoot.left = pRoot.right;
pRoot.right = temp;
Mirror(pRoot.left);
Mirror(pRoot.right);
return pRoot;
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}