mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
更新 0530.二叉搜索树的最小绝对差 排版格式修复
This commit is contained in:
@ -19,12 +19,12 @@
|
|||||||
|
|
||||||
提示:树中至少有 2 个节点。
|
提示:树中至少有 2 个节点。
|
||||||
|
|
||||||
# 视频讲解
|
## 算法公开课
|
||||||
|
|
||||||
**《代码随想录》算法视频公开课:[二叉搜索树中,需要掌握如何双指针遍历!| LeetCode:530.二叉搜索树的最小绝对差](https://www.bilibili.com/video/BV1DD4y11779),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[二叉搜索树中,需要掌握如何双指针遍历!| LeetCode:530.二叉搜索树的最小绝对差](https://www.bilibili.com/video/BV1DD4y11779),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
||||||
|
|
||||||
|
|
||||||
# 思路
|
## 思路
|
||||||
|
|
||||||
题目中要求在二叉搜索树上任意两节点的差的绝对值的最小值。
|
题目中要求在二叉搜索树上任意两节点的差的绝对值的最小值。
|
||||||
|
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
遇到在二叉搜索树上求什么最值啊,差值之类的,就把它想成在一个有序数组上求最值,求差值,这样就简单多了。
|
遇到在二叉搜索树上求什么最值啊,差值之类的,就把它想成在一个有序数组上求最值,求差值,这样就简单多了。
|
||||||
|
|
||||||
## 递归
|
### 递归
|
||||||
|
|
||||||
那么二叉搜索树采用中序遍历,其实就是一个有序数组。
|
那么二叉搜索树采用中序遍历,其实就是一个有序数组。
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ public:
|
|||||||
|
|
||||||
是不是看上去也并不复杂!
|
是不是看上去也并不复杂!
|
||||||
|
|
||||||
## 迭代
|
### 迭代
|
||||||
|
|
||||||
看过这两篇[二叉树:听说递归能做的,栈也能做!](https://programmercarl.com/二叉树的迭代遍历.html),[二叉树:前中后序迭代方式的写法就不能统一一下么?](https://programmercarl.com/二叉树的统一迭代法.html)文章之后,不难写出两种中序遍历的迭代法。
|
看过这两篇[二叉树:听说递归能做的,栈也能做!](https://programmercarl.com/二叉树的迭代遍历.html),[二叉树:前中后序迭代方式的写法就不能统一一下么?](https://programmercarl.com/二叉树的统一迭代法.html)文章之后,不难写出两种中序遍历的迭代法。
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ public:
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
# 总结
|
## 总结
|
||||||
|
|
||||||
**遇到在二叉搜索树上求什么最值,求差值之类的,都要思考一下二叉搜索树可是有序的,要利用好这一特点。**
|
**遇到在二叉搜索树上求什么最值,求差值之类的,都要思考一下二叉搜索树可是有序的,要利用好这一特点。**
|
||||||
|
|
||||||
@ -145,10 +145,10 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
|
|
||||||
## Java
|
### Java
|
||||||
|
|
||||||
递归
|
递归
|
||||||
```java
|
```java
|
||||||
@ -235,7 +235,7 @@ class Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Python
|
### Python
|
||||||
|
|
||||||
递归法(版本一)利用中序递增,结合数组
|
递归法(版本一)利用中序递增,结合数组
|
||||||
```python
|
```python
|
||||||
@ -313,7 +313,7 @@ class Solution:
|
|||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
## Go:
|
### Go
|
||||||
|
|
||||||
中序遍历,然后计算最小差值
|
中序遍历,然后计算最小差值
|
||||||
```go
|
```go
|
||||||
@ -340,7 +340,7 @@ func getMinimumDifference(root *TreeNode) int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## JavaScript
|
### JavaScript
|
||||||
递归 先转换为有序数组
|
递归 先转换为有序数组
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
@ -415,7 +415,7 @@ var getMinimumDifference = function(root) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## TypeScript
|
### TypeScript
|
||||||
|
|
||||||
> 辅助数组解决
|
> 辅助数组解决
|
||||||
|
|
||||||
@ -482,7 +482,7 @@ function getMinimumDifference(root: TreeNode | null): number {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
## Scala
|
### Scala
|
||||||
|
|
||||||
构建二叉树的有序数组:
|
构建二叉树的有序数组:
|
||||||
|
|
||||||
@ -561,7 +561,7 @@ object Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## rust
|
### Rust
|
||||||
|
|
||||||
构建二叉树的有序数组:
|
构建二叉树的有序数组:
|
||||||
|
|
||||||
@ -652,3 +652,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