题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/
6 10
/ \ /
5 7 9 11
镜像二叉树
8
/
10 6
/ \ /
11 9 7 5
解析:
1.根节点和左右节点是否为空
2.交换左右节点
3.递归的左右节点。
public class Solution {
public void Mirror(TreeNode root) {
//根节点为空
if(root==null)
return;
//左右节点为空
if(root.left==null && root.right==null)
return;
//左右子树换
TreeNode treeNode=root.left;
root.left=root.right;
root.right=treeNode;
//左节点为空
if(root.left!=null){
Mirror(root.left);
}
//右节点不为空。
if(root.right!=null){
Mirror(root.right);
}
}
}