翻转一棵二叉树。

示例:

输入:

     4
/ \
2 7
/ \ / \
1 3 6 9

输出:

     4
/ \
7 2
/ \ / \
9 6 3 1

备注:
这个问题是受到 Max Howell的 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

这道题比较简单,就是一路判断下去就是了。注意在二叉树为空,或者左右节点为空时做个特判。

代码如下:

 class Solution {
public TreeNode invertTree(TreeNode root) {
FindNext(root);
return root;
} public void FindNext(TreeNode t)
{
if(t==null ||(t.left==null && t.right==null))
return ;
else if(t.left!=null && t.right==null)
{
t.right=t.left;
t.left=null;
}
else if(t.left==null && t.right!=null){
t.left=t.right;
t.right=null;
}
else {
TreeNode tmp=t.left;
t.left=t.right;
t.right=tmp;
}
FindNext(t.left);
FindNext(t.right);
}
}

最新文章

  1. Spring Boot -- 配置切换指南
  2. Hadoop入门系列一
  3. @SuppressWarnings的使用、作用、用法
  4. 5、利用控件TVCLZip和TIdFTP压缩文件并上传到FTP的线程单元pas 改进版
  5. CentOS 配置 iptables 配合 ss
  6. Auguse 2nd, Week 32nd Tuesday, 2016
  7. 安装 Apache 出现 <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试
  8. awk中怎么比较字符串??
  9. 在HTML中添加目录
  10. Linux 串行终端,虚拟终端,伪终端,控制终端,控制台终端的理解
  11. Java多线程-工具篇-BlockingQueue(转)
  12. 从web图片裁剪出发:了解H5中的Blob
  13. Oracle GoldenGate实现数据库同步
  14. Hibernate注解用法
  15. 【css】图片垂直水平居中
  16. ckeditor文本对齐方式添加,图片上传
  17. Golang中进行reslice时的注意事项
  18. Kotlin入门(1)搭建Kotlin开发环境
  19. fortran shapefile学习
  20. Netty 实现SSL安全连接(wss://)

热门文章

  1. Spring AOP的使用及案例
  2. 题解 CF600E 【Lomsat gelral】
  3. nginx 前后端分离 代理转发,解决跨域问题
  4. Spring(一)Spring基础知识
  5. css简介以及css的添加方法
  6. SpringBoot整合Redis在可视化工具乱码问题,以及常用的api
  7. spring boot跨域请求访问配置以及spring security中配置失效的原理解析
  8. MIT线性代数:18.行列式及其特性
  9. 学习笔记12JS异步请求
  10. 划艇:dp/组合数/区间离散化