Given a Binary Search Tree and a target number, return True if there exist the elements in the BST such that their sum is Equal to the given target.
Example 1:
Input: 5 / 3 6/\ 2 4 7Target = 9output:true
Example 2:
Input: 5 / 3 6/\ 2 4 7Target = 28output:false
//time:o (n), Space:o (n)//beginning to think of BST with two points, and later found that the problem and two-fork search tree does not matter, is to traverse a normal two-fork tree Public BooleanFindtarget (TreeNode root,intk) {if(Root = =NULL) { return false; } HashSet<Integer> set =NewHashset<integer>(); returnDfs (root, k, set); } Private BooleanDFS (TreeNode root,intK, hashset<integer>set) { if(Root = =NULL) { return false; } if(Set.contains (K-root.val)) {return true; } set.add (Root.val); returnDFS (Root.left, K, set) | |Dfs (Root.right, k, set); }
653. Both Sum Iv-input is a BST