Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target.
Example 1:
Input: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 Output: True
Example 2:
Input: 5 / \ 3 6 / \ \ 2 4 7 Target = 28 Output: False
<Solution>
Two Sum 的衍生題,只是 input 變成一個 BST
那有兩種想法
1. BST traversal 去找,配合 hashmap 做查詢,只要找到一組答案就可以
2. 用 DFS 去解
實驗了一下,DFS的方式執行速度比較快
code 如下
C++
Java
kotlin
沒有留言:
張貼留言