原题链接
 
代码如下:
深搜一下,然后就跟第一题的两数之和的思路一样
代码如下:
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;
    }
};










