From 7746734d79d4726143375aaf1a8a8f835483346e Mon Sep 17 00:00:00 2001 From: jinbudaily <18336218010@163.com> Date: Fri, 21 Jul 2023 20:22:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=200098.=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=90=9C=E7=B4=A2=E6=A0=91=20=E6=8E=92?= =?UTF-8?q?=E7=89=88=E6=A0=BC=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0098.验证二叉搜索树.md | 29 +++++++++++++------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/problems/0098.验证二叉搜索树.md b/problems/0098.验证二叉搜索树.md index 95b657a5..a48ec065 100644 --- a/problems/0098.验证二叉搜索树.md +++ b/problems/0098.验证二叉搜索树.md @@ -20,18 +20,18 @@ ![98.验证二叉搜索树](https://code-thinking-1253855093.file.myqcloud.com/pics/20230310000750.png) -# 视频讲解 +## 算法公开课 -**《代码随想录》算法视频公开课:[你对二叉搜索树了解的还不够! | LeetCode:98.验证二叉搜索树](https://www.bilibili.com/video/BV18P411n7Q4),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 +**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[你对二叉搜索树了解的还不够! | LeetCode:98.验证二叉搜索树](https://www.bilibili.com/video/BV18P411n7Q4),相信结合视频在看本篇题解,更有助于大家对本题的理解**。 -# 思路 +## 思路 要知道中序遍历下,输出的二叉搜索树节点的数值是有序序列。 有了这个特性,**验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。** -## 递归法 +### 递归法 可以递归中序遍历将二叉搜索树转变成一个数组,代码如下: @@ -211,7 +211,7 @@ public: 最后这份代码看上去整洁一些,思路也清晰。 -## 迭代法 +### 迭代法 可以用迭代法模拟二叉树中序遍历,对前中后序迭代法生疏的同学可以看这两篇[二叉树:听说递归能做的,栈也能做!](https://programmercarl.com/二叉树的迭代遍历.html),[二叉树:前中后序迭代方式统一写法](https://programmercarl.com/二叉树的统一迭代法.html) @@ -245,7 +245,7 @@ public: 在[二叉树:二叉搜索树登场!](https://programmercarl.com/0700.二叉搜索树中的搜索.html)中我们分明写出了痛哭流涕的简洁迭代法,怎么在这里不行了呢,因为本题是要验证二叉搜索树啊。 -# 总结 +## 总结 这道题目是一个简单题,但对于没接触过的同学还是有难度的。 @@ -254,10 +254,10 @@ public: 只要把基本类型的题目都做过,总结过之后,思路自然就开阔了。 -# 其他语言版本 +## 其他语言版本 -## Java +### Java ```Java //使用統一迭代法 @@ -369,7 +369,7 @@ class Solution { } ``` -## Python +### Python 递归法(版本一)利用中序递增性质,转换成数组 ```python @@ -479,7 +479,7 @@ class Solution: ``` -## Go +### Go ```Go func isValidBST(root *TreeNode) bool { @@ -526,7 +526,7 @@ func isValidBST(root *TreeNode) bool { } ``` -## JavaScript +### JavaScript 辅助数组解决 @@ -595,7 +595,7 @@ var isValidBST = function (root) { }; ``` -## TypeScript +### TypeScript > 辅助数组解决: @@ -637,7 +637,7 @@ function isValidBST(root: TreeNode | null): boolean { }; ``` -## Scala +### Scala 辅助数组解决: ```scala @@ -682,7 +682,7 @@ object Solution { } ``` -## rust +### Rust 递归: @@ -735,3 +735,4 @@ impl Solution { +