mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
更新 0538.将二叉搜索树转换为累加树 排版格式修复
This commit is contained in:
@ -44,11 +44,11 @@
|
||||
* 树中的所有值 互不相同 。
|
||||
* 给定的树为二叉搜索树。
|
||||
|
||||
# 算法公开课
|
||||
## 算法公开课
|
||||
|
||||
**《代码随想录》算法视频公开课:[普大喜奔!二叉树章节已全部更完啦!| LeetCode:538.把二叉搜索树转换为累加树](https://www.bilibili.com/video/BV1d44y1f7wP?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
||||
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[普大喜奔!二叉树章节已全部更完啦!| LeetCode:538.把二叉搜索树转换为累加树](https://www.bilibili.com/video/BV1d44y1f7wP?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。
|
||||
|
||||
# 思路
|
||||
## 思路
|
||||
|
||||
一看到累加树,相信很多小伙伴都会疑惑:如何累加?遇到一个节点,然后再遍历其他节点累加?怎么一想这么麻烦呢。
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
|
||||
那么知道如何遍历这个二叉树,也就迎刃而解了,**从树中可以看出累加的顺序是右中左,所以我们需要反中序遍历这个二叉树,然后顺序累加就可以了**。
|
||||
|
||||
## 递归
|
||||
### 递归
|
||||
|
||||
遍历顺序如图所示:
|
||||
|
||||
@ -131,7 +131,7 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
## 迭代法
|
||||
### 迭代法
|
||||
|
||||
迭代法其实就是中序模板题了,在[二叉树:前中后序迭代法](https://programmercarl.com/二叉树的迭代遍历.html)和[二叉树:前中后序统一方式迭代法](https://programmercarl.com/二叉树的统一迭代法.html)可以选一种自己习惯的写法。
|
||||
|
||||
@ -166,17 +166,17 @@ public:
|
||||
};
|
||||
```
|
||||
|
||||
# 总结
|
||||
## 总结
|
||||
|
||||
经历了前面各种二叉树增删改查的洗礼之后,这道题目应该比较简单了。
|
||||
|
||||
**好了,二叉树已经接近尾声了,接下来就是要对二叉树来一个大总结了**。
|
||||
|
||||
|
||||
# 其他语言版本
|
||||
## 其他语言版本
|
||||
|
||||
|
||||
## Java
|
||||
### Java
|
||||
**递归**
|
||||
|
||||
```Java
|
||||
@ -237,7 +237,7 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
## Python
|
||||
### Python
|
||||
递归法(版本一)
|
||||
```python
|
||||
# Definition for a binary tree node.
|
||||
@ -318,7 +318,7 @@ class Solution:
|
||||
self.traversal(root)
|
||||
return root
|
||||
|
||||
```
|
||||
```
|
||||
迭代法(版本二)
|
||||
```python
|
||||
class Solution:
|
||||
@ -338,9 +338,9 @@ class Solution:
|
||||
pre = cur.val
|
||||
cur =cur.left
|
||||
return root
|
||||
```
|
||||
```
|
||||
|
||||
## Go
|
||||
### Go
|
||||
|
||||
弄一个sum暂存其和值
|
||||
```go
|
||||
@ -362,7 +362,7 @@ func traversal(cur *TreeNode) {
|
||||
}
|
||||
```
|
||||
|
||||
## JavaScript
|
||||
### JavaScript
|
||||
|
||||
递归
|
||||
```javascript
|
||||
@ -401,7 +401,7 @@ var convertBST = function (root) {
|
||||
};
|
||||
```
|
||||
|
||||
##C
|
||||
### C
|
||||
|
||||
递归
|
||||
```c
|
||||
@ -422,7 +422,7 @@ struct TreeNode* convertBST(struct TreeNode* root){
|
||||
}
|
||||
```
|
||||
|
||||
## TypeScript
|
||||
### TypeScript
|
||||
|
||||
> 递归法
|
||||
|
||||
@ -462,7 +462,7 @@ function convertBST(root: TreeNode | null): TreeNode | null {
|
||||
};
|
||||
```
|
||||
|
||||
## Scala
|
||||
### Scala
|
||||
|
||||
```scala
|
||||
object Solution {
|
||||
@ -481,7 +481,7 @@ object Solution {
|
||||
}
|
||||
```
|
||||
|
||||
## rust
|
||||
### Rust
|
||||
|
||||
递归:
|
||||
|
||||
@ -535,3 +535,4 @@ impl Solution {
|
||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||
</a>
|
||||
|
||||
|
Reference in New Issue
Block a user