2017年10月12日 星期四

[LeetCode] 653. Two Sum IV - Input is a BST

轉自LeetCode

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

沒有留言:

張貼留言