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