bool checkBST(NODE *Head)
{ // 本题的解题思想主要用到后续遍历
pNode = Head;
if (pNode == NULL)
return true;
if ((checkBST(pNode->left)) && (checkBST(pNode->right)))
{
bool leftOK = false;
bool rightOK = false;
if ((pNode->left == NULL) || (pNode->data > pNode->left->data))
leftOK = true;
if ((pNode->right == NULL) || (pNode->data < pNode->right->data))
rightOK = true;
if (leftOK && rightOK)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
判断一棵树是否BST
最新推荐文章于 2019-06-10 16:55:22 发布