题目描述:
操作给定的二叉树,将其变换为源二叉树的镜像
输入描述:
二叉树的镜像定义:源二叉树 镜像二叉树
8 8
/ \ / \
6 10 10 6
/ \ / \ / \ / \
5 7 9 11 11 9 7 5
由输入描述得知,源二叉树变为镜像二叉树,利用递归将一个节点的左右节点交换
代码展示:
public class Solution {
public void Mirror(TreeNode root) {
//根节点为null 不处理
if(root == null)
return;
//根节点的左右子节点为null(即就是节点为叶子节点)同样不处理
if(root.left == null && root.right == null)
return;
//节点的左右子节点交换
TreeNode pTemp = root.left;
root.left = root.right;
root.right = pTemp;
//递归处理
if(root.left != null)
Mirror(root.left);
if(root.right != null)
Mirror(root.right);
}
}