File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
validate-binary-search-tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change 1+ //
2+ // 98. Validate Binary Search Tree
3+ // https://leetcode.com/problems/validate-binary-search-tree/description/
4+ // Dale-Study
5+ //
6+ // Created by WhiteHyun on 2024/06/12.
7+ //
8+
9+ /**
10+ * Definition for a binary tree node.
11+ * public class TreeNode {
12+ * public var val: Int
13+ * public var left: TreeNode?
14+ * public var right: TreeNode?
15+ * public init() { self.val = 0; self.left = nil; self.right = nil; }
16+ * public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
17+ * public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
18+ * self.val = val
19+ * self.left = left
20+ * self.right = right
21+ * }
22+ * }
23+ */
24+ class Solution {
25+ func isValidBST( _ node: TreeNode ? ) -> Bool {
26+ 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
44+ }
45+ }
You can’t perform that action at this time.
0 commit comments