原题链接:https://leetcode-cn.com/problems/validate-binary-search-tree/
解题思路:
参考官方题解中的中序遍历动画,可知中序遍历的顺序为从左到右。也就是说,可以使用递归中序遍历,输出所有节点的值,然后判断节点的值是否递增即可。中序遍历的方法可以参考我的题解LeetCode题解:94. 二叉树的中序遍历,递归,JavaScript,详细注释
var isValidBST = function (root
) {
let values
= [];
function traversal(node
) {
if (node
) {
traversal(node
.left
);
values
.push(node
.val
);
traversal(node
.right
);
}
}
traversal(root
);
for (let i
= 1; i
< values
.length
; i
++) {
if (values
[i
] <= values
[i
- 1]) {
return false;
}
}
return true;
};