题目:98. 验证二叉搜索树
思路
中序遍历;
代码
class Solution {
public:
vector<int> result; // 记录二叉树的所有节点
// 中序遍历
void travel(TreeNode* root)
{
if(root == NULL)
{
return;
}
// 左
if(root->left)
{
travel(root->left);
}
// 中
result.push_back(root->val);
// 右
if(root->right)
{
travel(root->right);
}
}
bool isValidBST(TreeNode* root) {
int i;
travel(root);
for(i = 0; i < result.size()-1; i++)
{
if(result[i] >= result[i+1])
{
return false;
}
}
return true;
}
};