bool IsBST(BiTree T)
{
if(T == NULL) return true;
//没有左子树也没有右子树
if(T->lchildNULL && T->rchild == NULL) return true;
//有左子树没有右子树
if(T->lchild!=NULL && T->rchildNULL)
{
if(T->lchild->data > T->data) return false;
else return IsBST(T->lchild);
}
//没有左子树也没有右子树
if(T->lchild==NULL && T->rchild!=NULL)
{
if(T->rchild->data < T->data) return false;
return IsBST(T->rchild);
}
//有左子树有右子树
if(T->lchild!=NULL && T->rchild!=NULL)
{
if(T->lchild->data > T->data || T->rchild->data < T->data) return false;
return (IsBST(T->lchild)&&IsBST(T->rchild));
}
}
判定给定的二叉树是不是二叉排序树
最新推荐文章于 2022-09-10 21:23:35 发布