(easy)LeetCode 226.Invert Binary Tree
2024-10-13 07:06:58
Invert a binary tree.
4
/ \
2 7
/ \ / \
1 3 6 9
to
4
/ \
7 2
/ \ / \
9 6 3 1
Trivia:
This problem was inspired by this original tweet by Max Howell:
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
代码如下:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public TreeNode invertTree(TreeNode root) {
if (root == null || (root.left == null) && (root.right == null))
return root;
root=invertTreeLR(root,root.left, root.right);
return root;
} public TreeNode invertTreeLR(TreeNode root,TreeNode left, TreeNode right) { //left,right位临时引用
if (left == null && right != null) {
left = right;
right = null;
left=invertTreeLR(left,left.left, left.right);
} else if (left != null && right == null) {
right = left;
left = null;
right=invertTreeLR(right,right.left, right.right);
} else if (left == null && right == null){ } else {
TreeNode tmp = null;
tmp = left;
left = right;
right = tmp;
left=invertTreeLR(left,left.left, left.right);
right=invertTreeLR(right,right.left, right.right); }
root.left=left;
root.right=right;
return root;
}
}运行结果:
最新文章
- PL/0编译器实践---后记
- colpick-jQuery颜色选择器使用说明
- LSM存储模型
- hdu 4069 福州赛区网络赛I DLC ***
- iOS 获取系统音量
- 格式化输出星期几 C#
- 事件流处理框架NEsper for .NET z
- 一个Socket连接管理池(心跳机制)
- 虚拟机Q&;A
- 老李分享:《Linux Shell脚本攻略》 要点(一)
- Nginx 常用配置整理
- java第一次作业0
- 【三分模板】洛谷P3382三分模板
- Spark1.4从HDFS读取文件运行Java语言WordCounts并将结果保存至HDFS
- string format的各类格式及用法
- Node.js(day6)
- Javascript FormData实例
- Vue命令行工具vue-cli
- XShell发送命令到全部会话
- 二维码API接口