mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-13 06:06:11 +08:00
更新 0669.修剪二叉搜索树 排版格式修复
This commit is contained in:
@ -20,17 +20,17 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
# 算法公开课
|
## 算法公开课
|
||||||
|
|
||||||
**《代码随想录》算法视频公开课:[你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树](https://www.bilibili.com/video/BV17P41177ud?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树](https://www.bilibili.com/video/BV17P41177ud?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
||||||
|
|
||||||
# 思路
|
## 思路
|
||||||
|
|
||||||
相信看到这道题目大家都感觉是一道简单题(事实上leetcode上也标明是简单)。
|
相信看到这道题目大家都感觉是一道简单题(事实上leetcode上也标明是简单)。
|
||||||
|
|
||||||
但还真的不简单!
|
但还真的不简单!
|
||||||
|
|
||||||
## 递归法
|
### 递归法
|
||||||
|
|
||||||
直接想法就是:递归处理,然后遇到 `root->val < low || root->val > high` 的时候直接return NULL,一波修改,赶紧利落。
|
直接想法就是:递归处理,然后遇到 `root->val < low || root->val > high` 的时候直接return NULL,一波修改,赶紧利落。
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ public:
|
|||||||
|
|
||||||
只看代码,其实不太好理解节点是如何移除的,这一块大家可以自己再模拟模拟!
|
只看代码,其实不太好理解节点是如何移除的,这一块大家可以自己再模拟模拟!
|
||||||
|
|
||||||
## 迭代法
|
### 迭代法
|
||||||
|
|
||||||
因为二叉搜索树的有序性,不需要使用栈模拟递归的过程。
|
因为二叉搜索树的有序性,不需要使用栈模拟递归的过程。
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ public:
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
# 总结
|
## 总结
|
||||||
|
|
||||||
修剪二叉搜索树其实并不难,但在递归法中大家可看出我费了很大的功夫来讲解如何删除节点的,这个思路其实是比较绕的。
|
修剪二叉搜索树其实并不难,但在递归法中大家可看出我费了很大的功夫来讲解如何删除节点的,这个思路其实是比较绕的。
|
||||||
|
|
||||||
@ -243,10 +243,10 @@ public:
|
|||||||
|
|
||||||
本题我依然给出递归法和迭代法,初学者掌握递归就可以了,如果想进一步学习,就把迭代法也写一写。
|
本题我依然给出递归法和迭代法,初学者掌握递归就可以了,如果想进一步学习,就把迭代法也写一写。
|
||||||
|
|
||||||
# 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
## Java
|
### Java
|
||||||
|
|
||||||
**递归**
|
**递归**
|
||||||
|
|
||||||
@ -311,7 +311,7 @@ class Solution {
|
|||||||
|
|
||||||
````
|
````
|
||||||
|
|
||||||
## Python
|
### Python
|
||||||
|
|
||||||
递归法(版本一)
|
递归法(版本一)
|
||||||
```python
|
```python
|
||||||
@ -381,7 +381,7 @@ class Solution:
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Go
|
### Go
|
||||||
|
|
||||||
```go
|
```go
|
||||||
// 递归
|
// 递归
|
||||||
@ -436,7 +436,7 @@ func trimBST(root *TreeNode, low int, high int) *TreeNode {
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## JavaScript版本
|
### JavaScript
|
||||||
|
|
||||||
迭代:
|
迭代:
|
||||||
|
|
||||||
@ -492,7 +492,7 @@ var trimBST = function (root,low,high) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## TypeScript
|
### TypeScript
|
||||||
|
|
||||||
> 递归法
|
> 递归法
|
||||||
|
|
||||||
@ -540,7 +540,7 @@ function trimBST(root: TreeNode | null, low: number, high: number): TreeNode | n
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Scala
|
### Scala
|
||||||
|
|
||||||
递归法:
|
递归法:
|
||||||
|
|
||||||
@ -557,7 +557,7 @@ object Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## rust
|
### Rust
|
||||||
|
|
||||||
// 递归
|
// 递归
|
||||||
|
|
||||||
@ -590,3 +590,4 @@ impl Solution {
|
|||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user