1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public boolean findTarget(TreeNode root, int k) { Set<Integer> set = new HashSet<>(); return dfs(root, set, k); }
private boolean dfs(TreeNode root, Set<Integer> set, int k) { if (root == null) { return false; } if (set.contains(k - root.val)) { return true; }
set.add(root.val); return dfs(root.left, set, k) || dfs(root.right, set, k); } }
|
References
653. Two Sum IV - Input is a BST
剑指 Offer II 056. 二叉搜索树中两个节点之和