如何在 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);