【发布时间】:2017-09-28 18:54:47
【问题描述】:
我写了一个函数,如果给定的二叉树是二叉搜索树,则返回 true,否则返回 false。
bool IsBst(node* root)
{
if(root->left == NULL && root->right == NULL)
{
return true;
}
if(root->left->data <= root->data && root->right->data > root->data)
{
return (IsBst(root->left) && IsBst(root->right))
}
else
{
else false;
}
}
我的功能对吗?
这个函数会返回正确的答案吗?
我怀疑如果左孩子为空,那么这个比较root->left->data<=root->data会返回什么?(如果有空)
帮助我改进这一点! 提前致谢!
【问题讨论】:
标签: c++ algorithm tree binary-search-tree