在BST中找到小于K的最大元素
给定一个二叉搜索树和一个整数K,我想找到小于K的最大元素。
在下面的树中
for K = 13, result = 12
for K = 10, result = 8
for K = 1 (or) 2, result = -1
10
5 12
2 8 11 14
我尝试了以下逻辑。但是,有什么更好的方法吗?
int findNum(node* node, int K)
{
if(node == NULL)
{
return -1;
}
else if(K <= node->data)
{
return findNum(node->left,K);
}
else if(K > node->data)
{
int t = findNum(node->right,K);
return t > node->data ? t : node->data;
}
return -1;
}
没有找到相关结果
已邀请:
5 个回复
苛肠倒俱
需复
校勒魏寡
。 :-)
土投
温拎凯玛