File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed
Tree/099.Recover-Binary-Search-Tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change 1
1
### 099.Recover-Binary-Search-Tree
2
2
3
- 因为是BST,所以按先序遍历访问下来应该是一个递增的数列 。如果一个递增的数列里出现两个数字的对调,那么会有两个尖峰。显然,第一个尖峰的顶和第二个尖峰的谷,就是被掉包的那两个数字。
3
+ 因为是BST,所以按中序遍历访问下来应该是一个递增的数列 。如果一个递增的数列里出现两个数字的对调,那么会有两个尖峰。显然,第一个尖峰的顶和第二个尖峰的谷,就是被掉包的那两个数字。
4
4
5
- 本题按先序遍历访问BST (采用DFS递归的方法)。初始化三个公共变量
5
+ 本题按中序遍历访问BST (采用DFS递归的方法)。初始化三个公共变量
6
6
``` cpp
7
7
TreeNode* first=NULL ;
8
8
TreeNode* Second=NULL ;
@@ -17,4 +17,4 @@ TreeNode* CurMax=new TreeNode(INT_MIN);
17
17
这里还有一个关键点:如果整个树的两个掉包元素是相邻的,那么整个遍历只会找到一个尖峰。所以这里未雨绸缪的技巧是,在处理第一个尖峰时,同时把第二个掉包元素也设置 second==node. 后续如果找到了第二个尖峰,则second会被覆盖。
18
18
19
19
20
- [ Leetcode Link] ( https://leetcode.com/problems/recover-binary-search-tree )
20
+ [ Leetcode Link] ( https://leetcode.com/problems/recover-binary-search-tree )
You can’t perform that action at this time.
0 commit comments