Skip to content

Commit e89ab38

Browse files
Merge pull request #2081 from prograsshopper/main
[prograsshopper] week 02 Solutions
2 parents 2e92f09 + 64aa1e0 commit e89ab38

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def isValidBST(self, root: Optional[TreeNode]) -> bool:
9+
# Time Complexity: O(N)
10+
# Space Complexity: O(N)
11+
def check_valid(node, min_val, max_val):
12+
if not node:
13+
return True
14+
if not (min_val < node.val < max_val):
15+
return False
16+
return (
17+
check_valid(node.left, min_val, node.val)
18+
and
19+
check_valid(node.right, node.val, max_val)
20+
)
21+
22+
return check_valid(root, float('-inf'), float('inf'))

0 commit comments

Comments
 (0)