File tree Expand file tree Collapse file tree 1 file changed +5
-17
lines changed
validate-binary-search-tree Expand file tree Collapse file tree 1 file changed +5
-17
lines changed Original file line number Diff line number Diff line change 22
22
* }
23
23
*/
24
24
class Solution {
25
+ private var previousNode : TreeNode ?
25
26
func isValidBST( _ node: TreeNode ? ) -> Bool {
26
27
guard let node else { return true }
27
-
28
- var left = node. left
29
- var right = node. right
30
-
31
- while left? . right != nil {
32
- left = left? . right
33
- }
34
- while right? . left != nil {
35
- right = right? . left
36
- }
37
-
38
- if left? . val ?? . min < node. val,
39
- node. val < right? . val ?? . max {
40
- return isValidBST ( node. left) && isValidBST ( node. right)
41
- }
42
-
43
- return false
28
+ if isValidBST ( node. left) == false { return false }
29
+ if let previousNode, previousNode. val >= node. val { return false }
30
+ previousNode = node
31
+ return isValidBST ( node. right)
44
32
}
45
33
}
You can’t perform that action at this time.
0 commit comments