Skip to content

Commit 91c931a

Browse files
committed
feat: add typescript solution to lc problem: No.0653.Two Sum IV - Input is a BST
1 parent e5a19d8 commit 91c931a

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

solution/0600-0699/0653.Two Sum IV - Input is a BST/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,37 @@ class Solution {
117117
}
118118
```
119119

120+
### **TypeScript**
121+
122+
```ts
123+
/**
124+
* Definition for a binary tree node.
125+
* class TreeNode {
126+
* val: number
127+
* left: TreeNode | null
128+
* right: TreeNode | null
129+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
130+
* this.val = (val===undefined ? 0 : val)
131+
* this.left = (left===undefined ? null : left)
132+
* this.right = (right===undefined ? null : right)
133+
* }
134+
* }
135+
*/
136+
137+
function findTarget(root: TreeNode | null, k: number): boolean {
138+
let set: Set<number> = new Set();
139+
return find(root, k, set);
140+
};
141+
142+
143+
function find(root: TreeNode | null, k: number, set: Set<number>): boolean {
144+
if (!root) return false;
145+
if (set.has(k - root.val)) return true;
146+
set.add(root.val);
147+
return find(root.left, k, set) || find(root.right, k, set);
148+
}
149+
```
150+
120151
### **C++**
121152

122153
```cpp
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* class TreeNode {
4+
* val: number
5+
* left: TreeNode | null
6+
* right: TreeNode | null
7+
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
8+
* this.val = (val===undefined ? 0 : val)
9+
* this.left = (left===undefined ? null : left)
10+
* this.right = (right===undefined ? null : right)
11+
* }
12+
* }
13+
*/
14+
15+
function findTarget(root: TreeNode | null, k: number): boolean {
16+
let set: Set<number> = new Set();
17+
return find(root, k, set);
18+
};
19+
20+
21+
function find(root: TreeNode | null, k: number, set: Set<number>): boolean {
22+
if (!root) return false;
23+
if (set.has(k - root.val)) return true;
24+
set.add(root.val);
25+
return find(root.left, k, set) || find(root.right, k, set);
26+
}

0 commit comments

Comments
 (0)