# 653-two-sum-iv-input-is-a-bst Try it on leetcode ## Description

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:

## Solution(Python) ```Python # 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 class Solution: def findTarget(self, root: Optional[TreeNode], k: int) -> bool: def pushLeft(st, root): while root: st.append(root) root = root.left def pushRight(st, root): while root: st.append(root) root = root.right def nextLeft(st): node = st.pop() pushLeft(st, node.right) return node.val def nextRight(st): node = st.pop() pushRight(st, node.left) return node.val stLeft, stRight = [], [] pushLeft(stLeft, root) pushRight(stRight, root) left, right = nextLeft(stLeft), nextRight(stRight) while left < right: if left + right == k: return True if left + right < k: left = nextLeft(stLeft) else: right = nextRight(stRight) return False ```