(root, min = -Infinity, max = Infinity)
| 5 | * @return {boolean} |
| 6 | */ |
| 7 | var isValidBST = function (root, min = -Infinity, max = Infinity) { |
| 8 | const isBaseCase = root === null; |
| 9 | if (isBaseCase) return true; |
| 10 | |
| 11 | const isInvalid = root.val <= min || max <= root.val; |
| 12 | if (isInvalid) return false; |
| 13 | |
| 14 | return dfs(root, min, max); |
| 15 | }; |
| 16 | |
| 17 | const dfs = (root, min, max) => { |
| 18 | const left = isValidBST(root.left, min, root.val); |