Skip to content

Commit 0823a9f

Browse files
Refactor : Validate Binary Search Tree
1 parent 09faf30 commit 0823a9f

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
class Solution:
22
def isValidBST(self, root):
3-
prev = None
4-
def inorder(node):
5-
nonlocal prev
3+
max_val = float("-inf")
4+
def dfs(node):
65
if not node:
76
return True
8-
if not inorder(node.left):
7+
nonlocal max_val
8+
if not dfs(node.left):
99
return False
10-
if prev is not None and node.val <= prev:
10+
if max_val >= node.val:
1111
return False
12-
prev = node.val
13-
return inorder(node.right)
14-
return inorder(root)
12+
max_val = node.val
13+
if not dfs(node.right):
14+
return False
15+
return True
16+
return dfs(root)

0 commit comments

Comments
 (0)