更新 0108.将有序数组转换为二叉搜索树 排版格式修复

This commit is contained in:
jinbudaily
2023-07-23 19:00:08 +08:00
parent e14e2169c4
commit 572c08984f

View File

@ -20,11 +20,11 @@
![108.将有序数组转换为二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20201022164420763.png) ![108.将有序数组转换为二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20201022164420763.png)
# 算法公开课 ## 算法公开课
**《代码随想录》算法视频公开课:[构造平衡二叉搜索树!| LeetCode108.将有序数组转换为二叉搜索树](https://www.bilibili.com/video/BV1uR4y1X7qL?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 **[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[构造平衡二叉搜索树!| LeetCode108.将有序数组转换为二叉搜索树](https://www.bilibili.com/video/BV1uR4y1X7qL?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
# 思路 ## 思路
做这道题目之前大家可以了解一下这几道: 做这道题目之前大家可以了解一下这几道:
@ -71,7 +71,7 @@
**这也是题目中强调答案不是唯一的原因。 理解这一点,这道题目算是理解到位了** **这也是题目中强调答案不是唯一的原因。 理解这一点,这道题目算是理解到位了**
## 递归 ### 递归
递归三部曲: 递归三部曲:
@ -155,7 +155,7 @@ public:
**注意在调用traversal的时候传入的left和right为什么是0和nums.size() - 1因为定义的区间为左闭右闭** **注意在调用traversal的时候传入的left和right为什么是0和nums.size() - 1因为定义的区间为左闭右闭**
## 迭代法 ### 迭代法
迭代法可以通过三个队列来模拟,一个队列放遍历的节点,一个队列放左区间下标,一个队列放右区间下标。 迭代法可以通过三个队列来模拟,一个队列放遍历的节点,一个队列放左区间下标,一个队列放右区间下标。
@ -203,7 +203,7 @@ public:
}; };
``` ```
# 总结 ## 总结
**在[二叉树:构造二叉树登场!](https://programmercarl.com/0106.从中序与后序遍历序列构造二叉树.html) 和 [二叉树:构造一棵最大的二叉树](https://programmercarl.com/0654.最大二叉树.html)之后,我们顺理成章的应该构造一下二叉搜索树了,一不小心还是一棵平衡二叉搜索树** **在[二叉树:构造二叉树登场!](https://programmercarl.com/0106.从中序与后序遍历序列构造二叉树.html) 和 [二叉树:构造一棵最大的二叉树](https://programmercarl.com/0654.最大二叉树.html)之后,我们顺理成章的应该构造一下二叉搜索树了,一不小心还是一棵平衡二叉搜索树**
@ -216,10 +216,10 @@ public:
最后依然给出迭代的方法,其实就是模拟取中间元素,然后不断分割去构造二叉树的过程。 最后依然给出迭代的方法,其实就是模拟取中间元素,然后不断分割去构造二叉树的过程。
# 其他语言版本 ## 其他语言版本
## Java ### Java
递归: 左闭右开 [left,right) 递归: 左闭右开 [left,right)
```Java ```Java
@ -315,7 +315,7 @@ class Solution {
} }
``` ```
## Python ### Python
递归法 递归法
```python ```python
class Solution: class Solution:
@ -377,7 +377,7 @@ class Solution:
``` ```
## Go ### Go
递归(隐含回溯) 递归(隐含回溯)
@ -396,7 +396,7 @@ func sortedArrayToBST(nums []int) *TreeNode {
} }
``` ```
## JavaScript ### JavaScript
递归 递归
```javascript ```javascript
@ -453,7 +453,7 @@ var sortedArrayToBST = function(nums) {
return root; return root;
}; };
``` ```
## TypeScript ### TypeScript
```typescript ```typescript
function sortedArrayToBST(nums: number[]): TreeNode | null { function sortedArrayToBST(nums: number[]): TreeNode | null {
@ -469,7 +469,7 @@ function sortedArrayToBST(nums: number[]): TreeNode | null {
}; };
``` ```
## C ### C
递归 递归
```c ```c
@ -490,7 +490,7 @@ struct TreeNode* sortedArrayToBST(int* nums, int numsSize) {
} }
``` ```
## Scala ### Scala
递归: 递归:
@ -511,7 +511,7 @@ object Solution {
} }
``` ```
## rust ### Rust
递归: 递归:
@ -536,3 +536,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>