Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
606 B
1
Indexable
Never
void trav(BinaryTreeNode<int>* root,vector<int>  &inorder){ //pass by ref
    if(root==NULL) return ;
    if(root->left) trav(root->left,inorder);
    inorder.push_back(root->data);
    if(root->right) trav(root->right,inorder);
    //return ans;
}
bool twoSumInBST(BinaryTreeNode<int>* root, int target) {
  //  vector<int> ans;
	vector<int> inorder;
    trav(root,inorder);
    int n=inorder.size();
    int i=0,j=n-1;
    while(i<j){
        if(inorder[i]+inorder[j]==target) return true;
        else if(inorder[i]+inorder[j]< target) i++;
        else j--;
    }
    return false;
}