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); } } } }