剑指Offer——二叉树的镜像。
1、题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
2、代码实现
package com.baozi.offer;
/**
* 二叉树的镜像定义:源二叉树
* 8
* / \
* 6 10
* / \ / \
* 5 7 9 11
* 镜像二叉树
* 8
* / \
* 10 6
* / \ / \
* 11 9 7 5
*
* @author BaoZi
* @create 2019-07-12-15:00
*/
public class Offer15 {
public void Mirror(TreeNode root) {
//其实这个就是递归的交换每一个子树的左右节点
if (root != null) {
//1、先交换当前根节点的左右子节点的值
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
if (root.left != null) {
//2、然后再交换当前节点的左子树的值
Mirror(root.left);
}
//3、然后再交换当前节点的右子树的值
if (root.right != null) {
Mirror(root.right);
}
}
}
}
浙公网安备 33010602011771号