题目描述:

  操作给定的二叉树,将其变换为原二叉树的镜像。

  解题思路:

  求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有的非叶结点的左、右子结点后,就可以得到该树的镜像。

  如下面的例子,先交换根节点的两个子结点之后,我们注意到值为10、6的结点的子结点仍然保持不变,因此我们还需要交换这两个结点的左右子结点。做完这两次交换之后,我们已经遍历完所有的非叶结点。此时变换之后的树刚好就是原始树的镜像。

  举例:

![](https://img2018.cnblogs.com/blog/1608161/201904/1608161-20190427151424745-824968231.png)

  编程实现(Java):

	public void Mirror(TreeNode root) {
/*思路:左右结点互换*/
if(root!=null){
if(root.left!=null || root.right!=null){
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
Mirror(root.left);
Mirror(root.right);
}
}
}

最新文章

  1. 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体
  2. Face++ – 提供给你实时的脸部识别 API
  3. C++提前delete
  4. 高效渲染css
  5. CentOS中vsftp安装、配置、卸载
  6. SAE下的Memcache使用方法
  7. jjjjQuery选择器
  8. java基础增强
  9. 读 zepto 源码之工具函数
  10. 在arc模式下 CGImage 释放问题
  11. KnockoutJS知识规整目录
  12. AWS re:Invent(2019.01.09)
  13. JAVA核心技术I---JAVA基础知识(抽象类和接口)
  14. MySQL replicate-ignore-db详解
  15. idea打jar包没有MANIFEST文件坑
  16. BareTail大文件日志实时查看工具
  17. Java checked 异常 和 RuntimeException(运行时异常)
  18. java中 static,final,transient,volatile关键字的作用
  19. 关于SOA
  20. 分页器与form表单

热门文章

  1. natural join 以及 v$statname , v$sessstat
  2. 飘逸的python - 实现glob style pattern
  3. 霸气側漏的HTML5--之--强大的form表单
  4. Cocos2d-X开发中国象棋《三》開始场景的实现
  5. CF 557A(Ilya and Diplomas-贪心)
  6. SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题
  7. Java 二进制和十进制互转,二进制和BitSet互转
  8. ListView实现简单列表
  9. C# SuperWebSocket服务端学习(二)
  10. Codeforces--630D--Hexagons(规律)