剑指offer_二叉树---二叉树的镜像

来源:互联网 发布:激战2人类女捏脸数据库 编辑:程序博客网 时间:2024/06/08 10:44

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述

二叉树的镜像定义:  源二叉树             8           /  \          6   10         / \  / \        5  7 9 11 镜像二叉树            8           /  \          10   6         / \  / \        11 9 7  5

解题思路

1,交换左右子树
2,递归交换左右子树的左右子节点

代码

/** *  */package offerTest;/** * <p> * Title:Mirror * </p> * <p> * Description: * </p> *  * @author 田茂林 * @data 2017年8月20日 下午9:07:06 */public class Mirror {    public void Mirrors(TreeNode root) {        if (root == null || root.left == null && root.right == null){        //为了保证代码的严谨性,这里最好加上左右子节点不能都为null            return;        }        // 交换根的左右子节点        TreeNode temp = root.left;        root.left = root.right;        root.right = temp;        // 递归交换根的左右子树        if (root.left != null)            Mirrors(root.left);        if (root.right != null)            Mirrors(root.right);    }    public static void main(String[] args) {    }}
原创粉丝点击