30.两数之和 IV - 输入 BST

653. 两数之和 IV - 输入 BST

给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true

 

示例 1:

输入: root = [5,3,6,2,4,null,7], k = 9
输出: true

示例 2:

输入: root = [5,3,6,2,4,null,7], k = 28
输出: false

 

提示:

  • 二叉树的节点个数的范围是  [1, 104].
  • -104 <= Node.val <= 104
  • root 为二叉搜索树
  • -105 <= k <= 105
 1 class Solution {
 2     Set<Integer> set = new HashSet<Integer>();
 3 
 4     public boolean findTarget(TreeNode root, int k) {
 5         if (root == null) return false;
 6         if (set.contains(k - root.val)) return true;
 7 
 8         set.add(root.val);
 9         // 深度层次遍历
10         return findTarget(root.left,k) || findTarget(root.right,k);
11     }
12 }

 

posted on 2022-07-01 15:29  HHHuskie  阅读(17)  评论(0编辑  收藏  举报

导航