mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 02:53:31 +08:00
更新 0226.翻转二叉树 排版格式修复
This commit is contained in:
@ -16,7 +16,11 @@
|
||||
|
||||
这道题目背后有一个让程序员心酸的故事,听说 Homebrew的作者Max Howell,就是因为没在白板上写出翻转二叉树,最后被Google拒绝了。(真假不做判断,权当一个乐子哈)
|
||||
|
||||
# 题外话
|
||||
## 算法公开课
|
||||
|
||||
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[听说一位巨佬面Google被拒了,因为没写出翻转二叉树 | LeetCode:226.翻转二叉树](https://www.bilibili.com/video/BV1sP4y1f7q7),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
|
||||
|
||||
## 题外话
|
||||
|
||||
这道题目是非常经典的题目,也是比较简单的题目(至少一看就会)。
|
||||
|
||||
@ -24,9 +28,7 @@
|
||||
|
||||
如果做过这道题的同学也建议认真看完,相信一定有所收获!
|
||||
|
||||
# 思路
|
||||
|
||||
《代码随想录》算法视频公开课:[听说一位巨佬面Google被拒了,因为没写出翻转二叉树 | LeetCode:226.翻转二叉树](https://www.bilibili.com/video/BV1sP4y1f7q7),相信结合视频在看本篇题解,更有助于大家对本题的理解。
|
||||
## 思路
|
||||
|
||||
我们之前介绍的都是各种方式遍历二叉树,这次要翻转了,感觉还是有点懵逼。
|
||||
|
||||
@ -49,7 +51,7 @@
|
||||
|
||||
那么层序遍历可以不可以呢?**依然可以的!只要把每一个节点的左右孩子翻转一下的遍历方式都是可以的!**
|
||||
|
||||
## 递归法
|
||||
### 递归法
|
||||
|
||||
对于二叉树的递归法的前中后序遍历,已经在[二叉树:前中后序递归遍历](https://programmercarl.com/二叉树的递归遍历.html)详细讲解了。
|
||||
|
||||
@ -102,9 +104,9 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
## 迭代法
|
||||
### 迭代法
|
||||
|
||||
### 深度优先遍历
|
||||
#### 深度优先遍历
|
||||
|
||||
[二叉树:听说递归能做的,栈也能做!](https://programmercarl.com/二叉树的迭代遍历.html)中给出了前中后序迭代方式的写法,所以本题可以很轻松的写出如下迭代法的代码:
|
||||
|
||||
@ -163,7 +165,7 @@ public:
|
||||
|
||||
如果上面这个代码看不懂,回顾一下文章[二叉树:前中后序迭代方式的统一写法](https://programmercarl.com/二叉树的统一迭代法.html)。
|
||||
|
||||
### 广度优先遍历
|
||||
#### 广度优先遍历
|
||||
|
||||
也就是层序遍历,层数遍历也是可以翻转这棵树的,因为层序遍历也可以把每个节点的左右孩子都翻转一遍,代码如下:
|
||||
|
||||
@ -259,7 +261,7 @@ public:
|
||||
## 其他语言版本
|
||||
|
||||
|
||||
### Java
|
||||
### Java:
|
||||
```Java
|
||||
//DFS递归
|
||||
class Solution {
|
||||
@ -310,7 +312,7 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
### Python
|
||||
### Python:
|
||||
|
||||
递归法:前序遍历:
|
||||
```python
|
||||
@ -466,7 +468,7 @@ class Solution:
|
||||
|
||||
```
|
||||
|
||||
### Go
|
||||
### Go:
|
||||
|
||||
递归版本的前序遍历
|
||||
```Go
|
||||
@ -575,7 +577,7 @@ func invertTree(root *TreeNode) *TreeNode {
|
||||
}
|
||||
```
|
||||
|
||||
### JavaScript
|
||||
### JavaScript:
|
||||
|
||||
使用递归版本的前序遍历
|
||||
```javascript
|
||||
@ -783,7 +785,7 @@ function invertTree(root: TreeNode | null): TreeNode | null {
|
||||
};
|
||||
```
|
||||
|
||||
### C
|
||||
### C:
|
||||
|
||||
递归法
|
||||
```c
|
||||
@ -961,7 +963,7 @@ object Solution {
|
||||
}
|
||||
```
|
||||
|
||||
### rust
|
||||
### Rust:
|
||||
|
||||
```rust
|
||||
impl Solution {
|
||||
@ -991,7 +993,7 @@ impl Solution {
|
||||
}
|
||||
```
|
||||
|
||||
### C#
|
||||
### C#:
|
||||
|
||||
```csharp
|
||||
//递归
|
||||
@ -1042,3 +1044,4 @@ public class Solution {
|
||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||
</a>
|
||||
|
||||
|
Reference in New Issue
Block a user