题目链接:https://leetcode.com/problems/validate-binary-search-tree/
就是判断一个给定的二叉树是否为二叉查找树。
我的思路是:先将该树中序遍历一遍,按中序遍历的顺序保存到一个vector中,然后判断vector中的顺序即可。
代码:
class Solution {
public:
void inOrder(TreeNode *root){
if(root->left != NULL) inOrder(root->left);
v.push_back(root->val);
if(root->right != NULL) inOrder(root->right);
}
bool isValidBST(TreeNode *root) {
if(root == NULL) return true;
inOrder(root);
for(int i = 1; i< v.size(); i++)
if(v[i] <= v[i-1]) return false;
return true;
}
private:
vector<int> v;
};