如何在 BST 中找到和与给定值相同的两对?
how to find two pair that the sum is same as given value in BST?
我试图找到两对,它们的总和与二叉搜索树中给定的数字相同,但是,我没有得到正确的答案,请有人帮助我。我的代码如下:
void BST::find_sum(node * root1,node * root2,int sum)
{
if(root1==NULL)
return;
if(root2==NULL)
{
return;
}
if((root1->data+root2->data)==sum)
{
if(root1==root2)
return;
cout<<"\t "<<root1->data<<" + "<<root2->data<<" = "<<sum;
return;
}
find_sum(root1,root2->left,sum);
find_sum(root1,root2->right,sum);
return;
}
你可以试试这个:
find_sum(root1,root2->right,sum);
find_sum(root1,root2->left,sum);
我试图找到两对,它们的总和与二叉搜索树中给定的数字相同,但是,我没有得到正确的答案,请有人帮助我。我的代码如下:
void BST::find_sum(node * root1,node * root2,int sum)
{
if(root1==NULL)
return;
if(root2==NULL)
{
return;
}
if((root1->data+root2->data)==sum)
{
if(root1==root2)
return;
cout<<"\t "<<root1->data<<" + "<<root2->data<<" = "<<sum;
return;
}
find_sum(root1,root2->left,sum);
find_sum(root1,root2->right,sum);
return;
}
你可以试试这个:
find_sum(root1,root2->right,sum);
find_sum(root1,root2->left,sum);