题目链接:https://leetcode.com/problems/validate-binary-search-tree/
题目描述:判断BST是否合法。
思路:中序遍历;对于BST来说,中序遍历的结果是一个递增的序列,所以在递增的过程中判断即可。
代码:
class Solution {
public:
void order(TreeNode *root){
if(!root || ret == 0) return;
order(root->left);
if(start&&root->val <= val) ret = 0;
if(!start) start = 1;
val = root->val;
order(root->right);
}
bool isValidBST(TreeNode* root) {
start = 0;
ret = 1;
order(root);
return ret;
}
private:
int val;
bool ret;
bool start;
};