原题链接
代码如下:
深搜一下,然后就跟第一题的两数之和的思路一样
代码如下:
class Solution {
public:
bool findTarget(TreeNode* root, int k) {
unordered_set<int> heap;
queue<TreeNode*> q;
if(!root) return false;
q.push(root);
while(!q.empty()){
TreeNode* p = q.front();
q.pop();
if(p -> left) q.push(p -> left);
if(p -> right) q.push(p -> right);
if(heap.count(p -> val)) return true;
else heap.insert(k - p -> val);
}
return false;
}
};