首页 > 代码库 > 《剑指Offer》题目:二叉树的镜像

《剑指Offer》题目:二叉树的镜像

题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像

题目分析:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子结点之后,就得到了树的镜像。

 

Java代码:

class TreeNode{
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x){
            val = x ;
        }
}    
public class MirrorBinaryTree {
    public void Mirror(TreeNode root) {
        TreeNode tempNode;
        if (root == null){
            return;
        }
        if (root.left == null && root.right == null) return;

        tempNode = root.left;
        root.left = root.right;
        root.right = tempNode;
        if (root.left!=null) Mirror(root.left);
        if (root.right!=null) Mirror(root.right);
    }

 

《剑指Offer》题目:二叉树的镜像