更新 0538.将二叉搜索树转换为累加树 排版格式修复

This commit is contained in:
jinbudaily
2023-07-23 19:02:05 +08:00
parent 572c08984f
commit 6bf34cd8ba

View File

@ -44,11 +44,11 @@
* 树中的所有值 互不相同 。 * 树中的所有值 互不相同 。
* 给定的树为二叉搜索树。 * 给定的树为二叉搜索树。
# 算法公开课 ## 算法公开课
**《代码随想录》算法视频公开课:[普大喜奔!二叉树章节已全部更完啦!| LeetCode538.把二叉搜索树转换为累加树](https://www.bilibili.com/video/BV1d44y1f7wP?share_source=copy_web),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 **[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[普大喜奔!二叉树章节已全部更完啦!| LeetCode538.把二叉搜索树转换为累加树](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)可以选一种自己习惯的写法。 迭代法其实就是中序模板题了,在[二叉树:前中后序迭代法](https://programmercarl.com/二叉树的迭代遍历.html)和[二叉树:前中后序统一方式迭代法](https://programmercarl.com/二叉树的统一迭代法.html)可以选一种自己习惯的写法。
@ -166,17 +166,17 @@ public:
}; };
``` ```
# 总结 ## 总结
经历了前面各种二叉树增删改查的洗礼之后,这道题目应该比较简单了。 经历了前面各种二叉树增删改查的洗礼之后,这道题目应该比较简单了。
**好了,二叉树已经接近尾声了,接下来就是要对二叉树来一个大总结了** **好了,二叉树已经接近尾声了,接下来就是要对二叉树来一个大总结了**
# 其他语言版本 ## 其他语言版本
## Java ### Java
**递归** **递归**
```Java ```Java
@ -237,7 +237,7 @@ class Solution {
} }
``` ```
## Python ### Python
递归法(版本一) 递归法(版本一)
```python ```python
# Definition for a binary tree node. # Definition for a binary tree node.
@ -318,7 +318,7 @@ class Solution:
self.traversal(root) self.traversal(root)
return root return root
``` ```
迭代法(版本二) 迭代法(版本二)
```python ```python
class Solution: class Solution:
@ -338,9 +338,9 @@ class Solution:
pre = cur.val pre = cur.val
cur =cur.left cur =cur.left
return root return root
``` ```
## Go ### Go
弄一个sum暂存其和值 弄一个sum暂存其和值
```go ```go
@ -362,7 +362,7 @@ func traversal(cur *TreeNode) {
} }
``` ```
## JavaScript ### JavaScript
递归 递归
```javascript ```javascript
@ -401,7 +401,7 @@ var convertBST = function (root) {
}; };
``` ```
##C ### 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 ```scala
object Solution { 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"> <a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/> <img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a> </a>