LeetCode653. 两数之和 IV - 输入 BST
给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。
案例 1:
输入:
5
/ \
3 6
/ \ \
2 4 7
Target = 9
输出: True
案例 2:
输入:
5
/ \
3 6
/ \ \
2 4 7
Target = 28
输出: False
class Solution:
def findTarget(self, root, k):
"""
:type root: TreeNode
:type k: int
:rtype: bool
"""
if not root:
return False
nums = set()
queue = [root]
while queue:
temp = queue.pop(0)
nums.add(temp.val)
if temp.left:
queue.append(temp.left)
if temp.right:
queue.append(temp.right)
for i in nums:
if k-i in nums and i!=k/2:
return True
return False