请问贷款agent 给的credit back# Living
s*y
1 楼
有如下两个版本,为什么运行起来结果好像都不对呢?求指教!
请问如何修改才能让两个版本都对?
void findKth(node *root, int K, int &count, int &number)
{
count=0;
if(!root)
return;
findKth(root->right, K, count, number);
count++;
if(count == K)
{
number = root->data;
return;
}
findKth(root->left, K, count, number);
}
node* find_kth_max(node *root, unsigned int k){
static int count = -1;
if(root==NULL)
return NULL;
node *nd;
nd=find_kth_max(root->right, k);
if(count==k) return nd; // 为什么我总觉得这句多余呢?
count++;
if(count==k) return nd;
nd=find_kth_node(root->left, k);
return (count==k) ? nd : NULL;
}
请问如何修改才能让两个版本都对?
void findKth(node *root, int K, int &count, int &number)
{
count=0;
if(!root)
return;
findKth(root->right, K, count, number);
count++;
if(count == K)
{
number = root->data;
return;
}
findKth(root->left, K, count, number);
}
node* find_kth_max(node *root, unsigned int k){
static int count = -1;
if(root==NULL)
return NULL;
node *nd;
nd=find_kth_max(root->right, k);
if(count==k) return nd; // 为什么我总觉得这句多余呢?
count++;
if(count==k) return nd;
nd=find_kth_node(root->left, k);
return (count==k) ? nd : NULL;
}