Find Elements in a Contaminated Binary Tree LeetCode solution in Java

1
class FindElements {
2
TreeNode tree, nodept;
3

4
public FindElements(TreeNode root) {
5
tree = root;
6
tree.val = 0;
7
go(tree);
8
}
9

10
void go(TreeNode node) {
11
if (node.left != null) {
12
node.left.val = node.val * 2 + 1;
13
go(node.left);
14
}
15
if (node.right != null) {
16
node.right.val = node.val * 2 + 2;
17
go(node.right);
18
}
19
}
20

21
public boolean find(int target) {
22
return doit(target);
23
}
24

25
boolean doit(int target) {
26
if (target == 0) {
27
nodept = tree;
28
return true;
29
}
30
boolean f = doit((target - 1) / 2);
31
if (!f) return false;
32
if (nodept.left != null && nodept.left.val == target) nodept = nodept.left;
33
else if (nodept.right != null && nodept.right.val == target) nodept = nodept.right;
34
else f = false;
35
return f;
36
}
37
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0