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 2222 * }
2323 */
2424class Solution {
25+ private var previousNode : TreeNode ?
2526 func isValidBST( _ node: TreeNode ? ) -> Bool {
2627 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)
4432 }
4533}
You can’t perform that action at this time.
0 commit comments