Node* rightMost(Node *n)
{
if (n->right == NULL)
{
return n;
}
while (n->right)
{
n = n->right;
}
return n;
}
Node *predecessor(Node *n)
{
if (NULL == n)
{
return NULL;
}
if (n->left)
{
return rightMost(n->left);
}
Node *parent = n->parent;
if (parent && parent->right != n)
{
n = parent;
parent = parent->parent;
}
return parent;
}
查找二叉搜索树中小于某个节点的最大值
最新推荐文章于 2021-08-30 11:10:59 发布