Skip to content

Commit ef4534f

Browse files
committed
Time: 201 ms (16.53%), Space: 37.2 MB (80.13%) - LeetHub
1 parent 8ef2207 commit ef4534f

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* Example:
3+
* var ti = TreeNode(5)
4+
* var v = ti.`val`
5+
* Definition for a binary tree node.
6+
* class TreeNode(var `val`: Int) {
7+
* var left: TreeNode? = null
8+
* var right: TreeNode? = null
9+
* }
10+
*/
11+
class Solution {
12+
fun isValidBST(root: TreeNode?): Boolean {
13+
return root.isInRange(Long.MIN_VALUE, Long.MAX_VALUE)
14+
}
15+
16+
private fun TreeNode?.isInRange(min: Long, max: Long): Boolean {
17+
this ?: return true
18+
19+
if (`val` !in (min + 1)..<max)
20+
return false
21+
22+
return left.isInRange(min, `val`.toLong()) && right.isInRange(`val`.toLong(), max)
23+
}
24+
}

0 commit comments

Comments
 (0)