剑指Offer对答如流系列 - 二叉树的镜像

面试题27:二叉树的镜像

一、题目描述

请完成一个函数,输入一个二叉树,该函数输出它的镜像。

树的结构如下:

  public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;
        public TreeNode(int val) {
            this.val = val;
        }
    }

B是A的镜像
在这里插入图片描述

二、问题分析

镜像 这个名词看起来很高大上。

其实就是每个结点交换左右子结点。

我们通过前序遍历,依次处理即可。

三、问题解答

  public void Mirror(TreeNode root) {
        if(root==null) {
            return;
        }
        //左右子结点交换 -- 核心代码
        TreeNode tempNode = root.left;
        root.left=root.right;
        root.right=tempNode;

        Mirror(root.left);
        Mirror(root.right);
    }
发布了151 篇原创文章 · 获赞 3197 · 访问量 45万+

猜你喜欢

转载自blog.csdn.net/qq_42322103/article/details/104092914