Find Elements in a Contaminated Binary Tree
medium · 84.1% accepted · 1,429 likes · top 95%
hash table · tree · depth-first search · breadth-first search · design · binary tree
Description
Given a binary tree with the following rules:
- root.val == 0
- For any treeNode:
- If treeNode.val has a value x and treeNode.left != null, then treeNode.left.val == 2 * x + 1
- If treeNode.val has a value x and treeNode.right != null, then treeNode.right.val == 2 * x + 2
Now the binary tree is contaminated, which means all treeNode.val have been changed to -1.
Implement the FindElements class:
- FindElements(TreeNode* root) Initializes the object with a contaminated binary tree and recovers it.
- bool find(int target) Returns true if the target value exists in the recovered binary tree.
Example 1:
Example 2:
Example 3:
Solution