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

Posted VictorWei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《剑指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》题目:二叉树的镜像的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer:二叉树的镜像

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

二叉树的镜像-剑指Offer

Java 剑指offer(27) 二叉树的镜像

剑指offer——二叉树的镜像

剑指Offer 二叉树的镜像