Skip to content

Commit 36de435

Browse files
committed
Finish Validate Binary Search Tree
1 parent 0b31795 commit 36de435

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//
2+
// Copyright (c) 2016 by liril.net. All Rights Reserved.
3+
//
4+
5+
/**
6+
* Definition for a binary tree node.
7+
* function TreeNode(val) {
8+
* this.val = val;
9+
* this.left = this.right = null;
10+
* }
11+
*/
12+
/**
13+
* @param {TreeNode} root
14+
* @return {boolean}
15+
*/
16+
var isValidBST = function(root) {
17+
var valid = function(node, min, max) {
18+
if (!node) {
19+
return true;
20+
}
21+
22+
if (node.val <= min || node.val >= max) {
23+
return false;
24+
}
25+
26+
return (valid(node.left, min, node.val) &&
27+
valid(node.right, node.val, max));
28+
};
29+
return valid(root, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY);
30+
};

README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,11 @@ Tree
6666
│   ├── Populating-Next-Right-Pointers-in-Each-Node-II.js
6767
│   ├── Populating-Next-Right-Pointers-in-Each-Node.js
6868
│   ├── Same-Tree.js
69-
│   └── Symmetric-Tree.js
69+
│   ├── Symmetric-Tree.js
70+
│   └── Validate-Binary-Search-Tree.js
7071
├── README.md
7172
└── package.json
7273

73-
6 directories, 48 files
74+
6 directories, 49 files
75+
7476
```

0 commit comments

Comments
 (0)