Skip to content

Commit 4aac257

Browse files
committed
solve: validate binary search tree
1 parent 17e18a8 commit 4aac257

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// time: O(n)
2+
class Solution {
3+
func isValidBST(_ root: TreeNode?) -> Bool {
4+
return checkNodes(root, Int.min, Int.max)
5+
}
6+
7+
func checkNodes(_ root: TreeNode?, _ min: Int, _ max: Int) -> Bool {
8+
guard let node = root else { return true }
9+
if node.val <= min || node.val >= max { return false }
10+
11+
return checkNodes(node.left, min, node.val) && checkNodes(node.right, node.val, max)
12+
}
13+
}
14+
/*
15+
์ค‘์œ„์ˆœํšŒ๋ฅผ ํ†ตํ•ด์„œ๋„ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
16+
์ค‘์œ„์ˆœํšŒ๋ฅผ ํ•˜๋ฉฐ ์ด์ „์— ๋“ค๋ €๋˜ ๊ฐ’๋ณด๋‹ค ํ˜„์žฌ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์˜ ๊ฐ’์ด ์ž‘์œผ๋ฉด false!
17+
*/

0 commit comments

Comments
ย (0)