# [Solved] Given the root of a Binary Search Tree and a target number k, return true if there exist two elements in the BST such that their sum is equal to the given target. ## Question

Given the `root` of a Binary Search Tree and a target number `k`, return `true` if there exist two elements in the BST such that their sum is equal to the given target.

Example 1:

```Input: root = [5,3,6,2,4,null,7], k = 9
Output: true
```

Example 2:

```Input: root = [5,3,6,2,4,null,7], k = 28
Output: false
```

Constraints:

• The number of nodes in the tree is in the range `[1, 104]`.
• `-104 <= Node.val <= 104`
• `root` is guaranteed to be a valid binary search tree.
• `-105 <= k <= 105`

## Python Solution

```# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right

def inorder(root,l):
if root==None:return
inorder(root.left,l)
l.append(root.val)
inorder(root.right,l)

class Solution:
def findTarget(self, root: TreeNode, k: int) -> bool:
l = []
inorder(root,l)
i=0
j=len(l)-1
while i<j:
if l[i]+l[j]==k:return True
elif l[i]+l[j]<k:i+=1
else:j-=1
return False```
Scroll to Top