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
3
using namespace
std;
4
5
struct
TreeNode
6
{
7
int
val
;
8
TreeNode
*
left
;
9
TreeNode
*
right
;
10
TreeNode
() :
val
(0),
left
(nullptr),
right
(nullptr) {}
11
TreeNode
(
int
x) :
val
(x),
left
(nullptr),
right
(nullptr) {}
12
TreeNode
(
int
x,
TreeNode
*
left
,
TreeNode
*
right
) :
val
(x),
left
(
left
),
right
(
right
) {}
13
};
14
15
class
FindElements
16
{
17
private
:
18
unordered_map<int, bool>
tree
;
19
20
public
:
21
FindElements
(
TreeNode
* root)
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
46
int
main
()
47
{
48
49
return
0;
50
}
FindElements
Definition
main.cpp:16
FindElements::tree
unordered_map< int, bool > tree
Definition
main.cpp:18
FindElements::find
bool find(int target)
Definition
main.cpp:40
FindElements::FindElements
FindElements(TreeNode *root)
Definition
main.cpp:21
main
int main()
Definition
main.cpp:46
TreeNode
Definition
main.cpp:6
TreeNode::val
int val
Definition
main.cpp:7
TreeNode::left
TreeNode * left
Definition
main.cpp:8
TreeNode::TreeNode
TreeNode(int x, TreeNode *left, TreeNode *right)
Definition
main.cpp:12
TreeNode::right
TreeNode * right
Definition
main.cpp:9
TreeNode::TreeNode
TreeNode(int x)
Definition
main.cpp:11
TreeNode::TreeNode
TreeNode()
Definition
main.cpp:10
main.cpp
Generated by
1.9.8