更新 0235.二叉搜索树的最近公共祖先 排版格式修复

This commit is contained in:
jinbudaily
2023-07-23 18:52:09 +08:00
parent 3a2490b92f
commit 07e1ccca19

View File

@ -36,11 +36,11 @@
* 所有节点的值都是唯一的。
* p、q 为不同节点且均存在于给定的二叉搜索树中。
# 算法公开课
## 算法公开课
**《代码随想录》算法视频公开课:[二叉搜索树找祖先就有点不一样了!| 235. 二叉搜索树的最近公共祖先](https://www.bilibili.com/video/BV1Zt4y1F7ww?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[二叉搜索树找祖先就有点不一样了!| 235. 二叉搜索树的最近公共祖先](https://www.bilibili.com/video/BV1Zt4y1F7ww?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
# 思路
## 思路
做过[二叉树:公共祖先问题](https://programmercarl.com/0236.二叉树的最近公共祖先.html)题目的同学应该知道利用回溯从底向上搜索遇到一个节点的左子树里有p右子树里有q那么当前节点就是最近公共祖先。
@ -71,7 +71,7 @@
可以看出直接按照指定的方向就可以找到节点8为最近公共祖先而且不需要遍历整棵树找到结果直接返回
## 递归法
### 递归法
递归三部曲如下
@ -203,7 +203,7 @@ public:
};
```
## 迭代法
### 迭代法
对于二叉搜索树的迭代法,大家应该在[二叉树:二叉搜索树登场!](https://programmercarl.com/0700.二叉搜索树中的搜索.html)就了解了。
@ -229,7 +229,7 @@ public:
灵魂拷问:是不是又被简单的迭代法感动到痛哭流涕?
# 总结
## 总结
对于二叉搜索树的最近祖先问题,其实要比[普通二叉树公共祖先问题](https://programmercarl.com/0236.二叉树的最近公共祖先.html)简单的多。
@ -238,10 +238,10 @@ public:
最后给出了对应的迭代法,二叉搜索树的迭代法甚至比递归更容易理解,也是因为其有序性(自带方向性),按照目标区间找就行了。
# 其他语言版本
## 其他语言版本
## Java
### Java
递归法:
```java
@ -273,7 +273,7 @@ class Solution {
```
## Python
### Python
递归法(版本一)
```python
@ -326,7 +326,7 @@ class Solution:
```
## Go
### Go
递归法:
```go
@ -350,7 +350,7 @@ func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {
```
## JavaScript
### JavaScript
递归法:
```javascript
@ -391,7 +391,7 @@ var lowestCommonAncestor = function(root, p, q) {
};
```
## TypeScript
### TypeScript
> 递归法:
@ -422,7 +422,7 @@ function lowestCommonAncestor(root: TreeNode | null, p: TreeNode | null, q: Tree
};
```
## Scala
### Scala
递归:
@ -453,7 +453,7 @@ object Solution {
}
```
## rust
### Rust
递归:
@ -519,3 +519,4 @@ impl Solution {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>