find-elements-in-a-contaminated-binary-tree 1.0.0
Find Elements in a Contaminated Binary Tree
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1#include <bits/stdc++.h>
2
3using namespace std;
4
5struct TreeNode
6{
7 int val;
10 TreeNode() : val(0), left(nullptr), right(nullptr) {}
11 TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
13};
14
16{
17private:
18 unordered_map<int, bool> tree;
19
20public:
22 {
23 if (!root)
24 return;
25 queue<pair<TreeNode*, int>> q; // (node, value)
26 q.push({root, 0});
27 while (!q.empty())
28 {
29 auto [node, current_val] = q.front();
30 q.pop();
31
32 tree[current_val] = true;
33 if (node->left)
34 q.push({node->left, 2 * current_val + 1});
35 if (node->right)
36 q.push({node->right, 2 * current_val + 2});
37 }
38 }
39
40 bool find(int target)
41 {
42 return tree[target];
43 }
44};
45
46int main()
47{
48
49 return 0;
50}
unordered_map< int, bool > tree
Definition main.cpp:18
bool find(int target)
Definition main.cpp:40
FindElements(TreeNode *root)
Definition main.cpp:21
int main()
Definition main.cpp:46
int val
Definition main.cpp:7
TreeNode * left
Definition main.cpp:8
TreeNode(int x, TreeNode *left, TreeNode *right)
Definition main.cpp:12
TreeNode * right
Definition main.cpp:9
TreeNode(int x)
Definition main.cpp:11
TreeNode()
Definition main.cpp:10