Find Elements in a Contaminated Binary Tree LeetCode solution in Java
1class FindElements {2TreeNode tree, nodept;34public FindElements(TreeNode root) {5tree = root;6tree.val = 0;7go(tree);8}910void go(TreeNode node) {11if (node.left != null) {12node.left.val = node.val * 2 + 1;13go(node.left);14}15if (node.right != null) {16node.right.val = node.val * 2 + 2;17go(node.right);18}19}2021public boolean find(int target) {22return doit(target);23}2425boolean doit(int target) {26if (target == 0) {27nodept = tree;28return true;29}30boolean f = doit((target - 1) / 2);31if (!f) return false;32if (nodept.left != null && nodept.left.val == target) nodept = nodept.left;33else if (nodept.right != null && nodept.right.val == target) nodept = nodept.right;34else f = false;35return f;36}37}