zoukankan      html  css  js  c++  java
  • 【Offer】[27]【二叉树的镜像】

    题目描述

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

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

    牛客网刷题地址

    思路分析

    利用递归的思想:前序遍历二叉树,递归的交换左右子树。

    测试用例

    【效率太低,还是通过牛客网测试吧】

    1. 功能测试:普通的二叉树;二叉树的所有节点都没有左子树或者右子树;只有一个节点的二叉树。
    2. 特殊输入测试:二叉树的根节点为nullptr指针。

    Java代码

    public class Offer27 {
        public static void main(String[] args) {
            System.out.println("测试太麻烦了以后再弄吧");
            System.out.println("效率太低,还是通过牛客网测试吧");
            test1();
            test2();
            test3();
            
        }
    
        public void Mirror(TreeNode root) {
            Solution1(root);
        }
    
        private static void Solution1(TreeNode root) {
            if(root==null) return ;
            if(root.left==null && root.right==null) {
                return ;
            }
            TreeNode tmp = root.left;
            root.left = root.right;
            root.right = tmp;
            
            if(root.left!=null) {
                Solution1(root.left);
            }
            if(root.right!=null) {
                Solution1(root.right);
            }
        }
        private static void test1() {
        }
    
        private static void test2() {
        }
        private static void test3() {
        }
    }
    

    代码链接

    剑指Offer代码-Java

  • 相关阅读:
    微服务
    JNDI Tomcat
    JNDI
    依赖倒置原则
    mac下为gdb创建证书赋权其调试其它应用
    sed相关
    关于autoconf
    mac相关
    about gnu bash shell
    关于gcc
  • 原文地址:https://www.cnblogs.com/haoworld/p/offer27-er-cha-shu-de-jing-xiang.html
Copyright © 2011-2022 走看看