Java——二叉树的镜像

news2024/11/29 2:49:57

题目链接

leetcode在线oj题——二叉树的镜像

题目描述

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

例如输入:
4
/
2 7
/ \ /
1 3 6 9
镜像输出:
4
/
7 2
/ \ /
9 6 3 1

题目示例

输入:root = [4,2,7,1,3,6,9]
输出:[4,7,2,9,6,3,1]

题目提示

  • 0 <= 节点个数 <= 1000

解题思路

和交换数组中的两个数字一样,只需要借助tmp将树的左子树和右子树调换位置即可

然后递归调用这个函数,将该树下面的所有子树的左子树和右子树都进行调换

递归的出口是root为null,直接返回null即可

例如:
在这里插入图片描述
先交换root的左子树和右子树
在这里插入图片描述
然后分别递归调用该函数,传入root.left和root.right
在这里插入图片描述

即可得到该二叉树的镜像,直接返回root即可

完整代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        if(root == null){
            return null;
        }
        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;
        mirrorTree(root.left);
        mirrorTree(root.right);
        return root;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sql的左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)的详解

sql的左连接&#xff08;LEFT JOIN&#xff09;、右连接&#xff08;RIGHT JOIN&#xff09;、内连接&#xff08;INNER JOIN&#xff09;的详解&#xff1a; 这里以两个表的连表为例&#xff1a; 创建表1&#xff1a;为人员表&#xff0c;这里将它当做左表&#xff1b; CREA…

如何配置达梦数据库使其支持GB18030-2022中文编码字符集

达梦版本要求&#xff0c;要求使用2023年4月及之后的达梦月度版版本&#xff0c;补丁版、临时版等不可以。正确安装windows操作系统&#xff0c;windows10以下的版本未做过测试&#xff0c;可能系统不支持导致各种显示错误&#xff0c;建议用windows10及以上版本&#xff0c;本…

大数据能力提升项目|学生成果展系列之六

导读为了发挥清华大学多学科优势&#xff0c;搭建跨学科交叉融合平台&#xff0c;创新跨学科交叉培养模式&#xff0c;培养具有大数据思维和应用创新的“π”型人才&#xff0c;由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

分子生物学 第一章 概论

文章目录第一章 概论1.1.1分子生物学的概念以及发展简史1.2.1分子生物学研究概况第一章 概论 1.1.1分子生物学的概念以及发展简史 广义的定义&#xff1a; 在分子水平上解释生物学现象。 &#xff08;难以与生物化学区分&#xff09; 严格的定义&#xff1a; 在分子水平上研究…

2023年就业卷,卷,卷!前端面试怎么准备?

本文首发自「慕课网」&#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"&#xff01; 作者&#xff1a;张轩|慕课网讲师 大多数开发者应该都经历过跳槽和面试&#xff0c;这也是我们工作生活中必须要经历的一部分&#xff0…

关于Python爬虫使用技巧

首先&#xff0c;Python是一种非常流行的编程语言&#xff0c;拥有广泛的应用领域&#xff0c;例如数据分析、人工智能、Web开发等。如果您是初学者&#xff0c;可以开始学习基础的语法和概念&#xff0c;例如变量、数据类型、循环、函数等等。许多在线资源可以提供学习资料。 …

主题切换实现(vue-less)

介绍 本文适合黑白切换或者主题样式偏少的&#xff08;建议&#xff1a;2-10种&#xff09;&#xff1b;主题越多&#xff0c;样式会越多。理论上无限套。本文适合已经写好了一套主题&#xff0c;然后需求增加第二套或者多套主题&#xff08;最好小于10套&#xff0c;当然也可…

免费送30张可视化大屏,跳过复杂代码,轻松缔造可视化智慧校园

“现在老师和学校管理的信息化做的特别差&#xff01;” 。 当我做智慧校园软硬件的老同学和我这么说时&#xff0c;我惊呆了。他认为现在的大多数开发商大部分打着“智慧校园”的旗号&#xff0c;但是所做的系统仅仅是门禁刷卡&#xff0c;或者校园一卡通系统&#xff0c;请问…

视觉检测系统是怎么检测尺寸的?

随着科学技术的进步和市场通知的发展越来越多的自动化机器正在代替人工。 视觉检查系统也是如此。 视觉检测系统在许多行业的应用越来越热衷。 如工业五金. 3c电子.纺织等行业。 那么&#xff0c;具体而言&#xff0c;什么是视觉尺寸检测呢&#xff1f; 1 .什么是尺寸检查&am…

【RabbitMQ】初识消息中间件MQ

目录 一、什么是MQ 二、MQ的优缺点 1、MQ的优点 1.应用解耦 2.削峰填谷 3.异步提速 2、MQ的缺点 1.可用性低 2.系统复杂度高 3.数据一致性问题 三、MQ使用场景 四、常见的MQ 一、什么是MQ MQ&#xff08;Message Queue&#xff09;&#xff1a;消息队列&#xff0c…

为什么多线程读写 shared_ptr 要加锁?

陈硕&#xff08;giantchen_AT_gmail_DOT_com&#xff09; 2012-01-28 我在《Linux 多线程服务端编程&#xff1a;使用 muduo C 网络库》第 1.9 节“再论 shared_ptr 的线程安全”中写道&#xff1a; &#xff08;shared_ptr&#xff09;的引用计数本身是安全且无锁的&#…

git仓库与分支

仓库使用 第一次进入需要创建一个仓库 按照教程绑定邮箱可密码&#xff0c;再创建readme文件上传到仓库初始化 git push 详解 git push origin master:xiaoxu# 如下为远程仓库的详解https://gitee.com/fireapproval/xiaoxu.git//其中xiaoxu为仓库//如上的可视化界面中bolen为…

伺服阀放大器接线设置

端子 功能描述 1 PWR 外部电源输入&#xff0c;24VDC 2 PWR- 外部电源输入&#xff0c;24VDC 3 ENA 低电平使能 0<U<1.5V&#xff0c;放大器工作&#xff0c;绿灯常亮&#xff1b;2.5V<U<UB&#xff0c;放大器不工作&#xff0c;红灯常亮&#xff1b; 4 N.C. 不…

【关于Linux中----信号量及其使用场景】

文章目录一、解释信号量1.1 概念的引入1.2 信号量操作和使用接口二、信号量使用场景2.1 引入环形队列&&生产消费问题2.2 代码实现2.3 对于多生产多消费的情况2.4 申请信号量和加锁的顺序问题2.5 多生产多消费的意义一、解释信号量 1.1 概念的引入 我们知道&#xff0…

python uiautomator2 环境搭建和基本使用

安装 adb安装和配置 可以百度或者看看这个https://blog.csdn.net/weixin_37600187/article/details/127987889 安装uiautomator2 pip install -i https://mirrors.aliyun.com/pypi/simple -U uiautomator2安装 weditor&#xff08;一般情况会报错&#xff09; pip install…

C#程序设计——面向对象编程基础,设计一个Windows应用程序,模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。

一、实验目的 1、理解简单程序中的面向对象思想的应用 2、掌握C#的定义类和创建对象的方法 3、理解方法中参数的传递 二、实验内容 1、设计一个Windows应用程序&#xff0c;模拟一个简单的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操…

序列比对算法

案例问题&#xff1a;假设有两个序列&#xff1a;ATGCG 和 ACCG&#xff0c;如何求得它们的最佳匹配方案。 1. Needleman-Wunsch 算法 原理是动态规划&#xff0c;是一个全局比对算法 算法求解步骤&#xff1a; &#xff08;1&#xff09;在它们前面各加上一个 ‘-’ -ATGC…

2023 “认证杯”数学中国数学建模C 题 心脏危险事件 详细思路

2023年认证杯”数学中国数学建模如期开赛&#xff0c;本次比赛与妈杯&#xff0c;泰迪杯时间有点冲突。因此&#xff0c;个人精力有限&#xff0c;有些不可避免地错误欢迎大家指出。为了大家更方便的选题&#xff0c;我将为大家带来C题的详细解析&#xff0c;以方便大家建模分析…

如何有效利用文旅资源

文旅产业是当今世界发展最迅速的行业之一&#xff0c;文化和旅游业的融合已经成为文旅产业发展的趋势。众所周知&#xff0c;文旅资源是我国的宝贵财富&#xff0c;文化遗产、旅游胜地等都是国宝级的文旅资源&#xff0c;从古老的文化遗产到现代的旅游景点&#xff0c;无不体现…

近期CTF web

文章目录NKCTFbaby_phpez_phphard_phpeasy_pmseasy_cmsWebPageTestxiaopiCTFshow愚人赛easy_signineasy_sstiez_flask被遗忘的反序列化easy_php杭师大CTFfindmeez_javaeznodeNKCTF baby_php <?phperror_reporting(0);class Welcome{public $name;public $arg oww!man!!;…