?653. 两数之和4——输入BST(Python)

题目

难度:★★☆☆☆
类型:二叉树

给定一个二叉搜索树和一个目标结果,如果 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):
        inorder = lambda root: inorder(root.left)+[root.val]+inorder(root.right) if root else []
        res = inorder(root)
        for i, ele in enumerate(res):
            if k-ele in res and res.index(k-ele) != i:
                return True
        return False

如有疑问或建议,欢迎评论区留言~

你可能感兴趣的:(?653. 两数之和4——输入BST(Python))