一、题目

操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:
源二叉树 :
          8/  \6   10/ \  / \5  7 9  11镜像二叉树:8/  \10   6/ \  / \11 9 7   5

二、思路

利用递归,直接更换左右子节点

三、代码

public class Solution {public TreeNode mirror(TreeNode root) {TreeNode temp = null;if (root != null) {  //判断头节点是否为空,如果不为空,更换其左右子节点temp = root.left;root.left = root.right;root.right = temp;if (root.left != null) { //如果左子节点不为空,更换其左右子节点
                mirror(root.left);}if (root.right != null) {//如果右子节点不为空,更换其左右子节点
                mirror(root.right);}}return root;  //返回头节点
    }
}

View Code

------------------------------------------------------------------------

参考链接:https://www.nowcoder.com/questionTerminal/564f4c26aa584921bc75623e48ca3011

剑指offer十八之二叉树的镜像相关推荐

  1. 剑指offer:对称的二叉树(镜像,递归,非递归DFS栈+BFS队列)

    1. 题目描述 /**请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的 */ 2. 递归 思路: /**1.只要pRoot.left和pRo ...

  2. 剑指offer(C++)-JZ27:二叉树的镜像(数据结构-树)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像. 数据范围:二叉树的节点数 0≤n≤10 ...

  3. 剑指offer面试题[19]-二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 5 ...

  4. 剑指offer面试题27. 二叉树的镜像(递归)

    题目描述 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 思路 详见链接 代码 class Solution:def mirrorTree(self, root:TreeNode)->Tr ...

  5. Day9-2021.1.17-剑指offer的八道二叉树题目的整理。涉及递归调用+广度优先遍历。

    2021年1月17日 时间都去哪了? 今日计划: 1.小学初中的辅导.任务已被安排~ 2.组会 3.剑指offer的二叉树题目 4.图解tcp ip 的内容 今日工作: 1.小学初中的辅导.任务已被安 ...

  6. 《LeetCode力扣练习》剑指 Offer 28. 对称的二叉树 Java

    <LeetCode力扣练习>剑指 Offer 28. 对称的二叉树 Java 一.资源 题目: 请实现一个函数,用来判断一棵二叉树是不是对称的.如果一棵二叉树和它的镜像一样,那么它是对称的 ...

  7. LeetCode Algorithm 剑指 Offer 28. 对称的二叉树

    剑指 Offer 28. 对称的二叉树 Ideas 一开始想的有问题,看了例子以为对称二叉树的中序遍历序列是回文数组,然后就用这么写了,结果到第192个测试用例[1,2,2,2,null,2]就失败了 ...

  8. 【LeetCode】剑指 Offer 28. 对称的二叉树

    [LeetCode]剑指 Offer 28. 对称的二叉树 文章目录 [LeetCode]剑指 Offer 28. 对称的二叉树 一.递归 一.递归 对称二叉树定义:对于书中任意两个对称结点 L 和 ...

  9. 剑指offer——复习1:二叉树三种遍历方式的迭代与递归实现

    剑指offer--复习1:二叉树三种遍历方式的迭代与递归实现 20180905更新:这个博客中的解法不是很好,看相应的LeetCode题目笔记~~~ 我感觉此博客中的说法更容易让人理解:https:/ ...

最新文章

  1. xpdf将pdf转换为html,(WordExcelPDF文件转换成HTML整理.docx
  2. SpringMVC基础——一个简单的例子
  3. Microsoft Dynamics CRM 2011 多客户端安装共用同一Sql Server 实例设置
  4. Cesium中Clock控件及时间序列瓦片动态加载
  5. Acwing第 15 场周赛【未完结】
  6. 蓝桥杯java第六届决赛第四题--穿越雷区
  7. Angular之filter学习
  8. opencv 4快速入门_基于OpenCV的图像融合
  9. Nova虚拟机启动提示libvirtError
  10. 【DP】优美三角剖分
  11. 饿了么UI框架表格的动态增减表单项里面有坑!
  12. soundpool android,Android中用SoundPool播放音频
  13. iOS 10越狱设备终于有越狱移除工具了!
  14. (动态示例)制作chm离线手册文件-w3school为例
  15. uniapp iOS打包
  16. 有一台服务器,通过netstat -an命令看到大量状态SYN_RCVD的连接,可能发生的原因是什么?
  17. Gis到底可以应用在哪些方面?
  18. 【读】自动文摘——预备
  19. 笔记本 GTX1050ti 安装win10 Ubuntu18.04 显卡问题
  20. CAD测量工具使用方法

热门文章

  1. Ubuntu中恢复rm命令误删文件
  2. Linux安装Gitlab
  3. 解决@ResponseBody注解返回的json中文乱码问题
  4. EXC_BAD_ACCESS(code=2,address=0xcc 异常解决 及 建议不要在子线程中刷新界面
  5. python socket.error: [Errno 10054] 解决方法
  6. SSH密钥 - 仍然要求输入密码和密码
  7. 将Unix时间戳字符串转换为可读日期
  8. 电脑打开任务管理器的方法有哪几种
  9. Win11如何使用多桌面功能?Win11使用多桌面功能的方法
  10. ros加载编译opencv-3.4.9,编译安装opencv-3.4.9