更新 0101.对称二叉树 排版格式修复

This commit is contained in:
jinbudaily
2023-07-21 14:46:55 +08:00
parent 1abe3506ea
commit 49a3869174

View File

@ -13,9 +13,11 @@
![101. 对称二叉树](https://code-thinking-1253855093.file.myqcloud.com/pics/20210203144607387.png)
# 思路
## 算法公开课
《代码随想录》算法视频公开课:[同时操作两个二叉树 | LeetCode101. 对称二叉树](https://www.bilibili.com/video/BV1ue4y1Y7Mf),相信结合视频看本篇题解,更有助于大家对本题的理解。
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[同时操作两个二叉树 | LeetCode101. 对称二叉树](https://www.bilibili.com/video/BV1ue4y1Y7Mf) 相信结合视频看本篇题解,更有助于大家对本题的理解**
## 思路
**首先想清楚,判断对称二叉树要比较的是哪两个节点,要比较的可不是左右节点!**
@ -41,7 +43,7 @@
那么我们先来看看递归法的代码应该怎么写。
## 递归法
### 递归法
递归三部曲
@ -159,13 +161,13 @@ public:
**所以建议大家做题的时候,一定要想清楚逻辑,每一步做什么。把题目所有情况想到位,相应的代码写出来之后,再去追求简洁代码的效果。**
## 迭代法
### 迭代法
这道题目我们也可以使用迭代法,但要注意,这里的迭代法可不是前中后序的迭代写法,因为本题的本质是判断两个树是否是相互翻转的,其实已经不是所谓二叉树遍历的前中后序的关系了。
这里我们可以使用队列来比较两个树(根节点的左右子树)是否相互翻转,(**注意这不是层序遍历**
### 使用队列
#### 使用队列
通过队列来判断根节点的左子树和右子树的内侧和外侧是否相等,如动画所示:
@ -207,7 +209,7 @@ public:
};
```
### 使用栈
#### 使用栈
细心的话,其实可以发现,这个迭代法,其实是把左右两个子树要比较的元素顺序放进一个容器,然后成对成对的取出来进行比较,那么其实使用栈也是可以的。
@ -254,12 +256,12 @@ public:
这两道题目基本和本题是一样的只要稍加修改就可以AC。
* 100.相同的树
* 572.另一个树的子树
* [100.相同的树](https://leetcode.cn/problems/same-tree/)
* [572.另一个树的子树](https://leetcode.cn/problems/subtree-of-another-tree/)
# 其他语言版本
## 其他语言版本
Java
### Java:
```Java
/**
@ -364,7 +366,7 @@ Java
```
Python
### Python:
递归法:
```python
@ -470,7 +472,8 @@ class Solution:
return True
```
Go
### Go:
```go
/**
* Definition for a binary tree node.
@ -521,8 +524,7 @@ func isSymmetric(root *TreeNode) bool {
}
```
JavaScript
### JavaScript:
递归判断是否为对称二叉树:
```javascript
@ -610,7 +612,7 @@ var isSymmetric = function(root) {
};
```
TypeScript
### TypeScript
> 递归法
@ -679,7 +681,7 @@ function isSymmetric(root: TreeNode | null): boolean {
};
```
Swift:
### Swift:
> 递归
```swift
@ -761,7 +763,7 @@ func isSymmetric3(_ root: TreeNode?) -> Bool {
}
```
Scala
### Scala:
> 递归:
```scala
@ -835,7 +837,7 @@ object Solution {
}
```
## Rust
### Rust:
递归:
```rust
@ -900,3 +902,4 @@ impl Solution {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>