//对于每个节点,检测它的左孩子节点是否小于它,且右孩子节点是否大于它。
bool isBST(node* root)
{
if (root == NULL)
return true;
//如果左孩子大于根节点,则不是BST
if (root->left != NULL && root->left->key> root->key)
return false;
//如果右孩子节点小于根节点,则不是BST
if (root->right != NULL && root->right->key < root->key)
return false;
//递归的判断
if (!isBST(root->left) || !isBST(root->right))
return false;
//BST
return true;
}
判断二叉搜索树
最新推荐文章于 2022-12-26 21:08:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)