Skip to content

Commit 9d1c1e4

Browse files
committed
Add C++ solution of problem #1261
1 parent 6a1fe10 commit 9d1c1e4

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

1261/solution.cpp

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class FindElements {
13+
public:
14+
FindElements(TreeNode* root) {
15+
f(root, 0);
16+
}
17+
18+
bool find(int target) {
19+
return m.count(target);
20+
}
21+
22+
private:
23+
TreeNode *root;
24+
25+
void f(TreeNode *t, int idx) {
26+
if(!t)
27+
return;
28+
m.insert(idx);
29+
f(t->left, idx * 2 + 1);
30+
f(t->right, idx * 2 + 2);
31+
}
32+
33+
unordered_set<int> m;
34+
};
35+
36+
/**
37+
* Your FindElements object will be instantiated and called as such:
38+
* FindElements* obj = new FindElements(root);
39+
* bool param_1 = obj->find(target);
40+
*/

0 commit comments

Comments
 (0)