题目很简单 主要是练语法,附上BFS算法
class FindElements {
unordered_set<int> s;
public:
FindElements(TreeNode* root) {
root->val = 0;
queue<TreeNode*> dq;
dq.push(root);
while (!dq.empty())
{
TreeNode* node = dq.front();
dq.pop();
s.insert(node->val);
if (node->left != nullptr)
{
node->left->val = node->val * 2 + 1;
dq.push(node->left);
}
if (node->right != nullptr)
{
node->right->val = node->val * 2 + 2;
dq.push(node->right);
}
}
}
bool find(int target) {
return s.contains(target);
}
};