class Solution {
public:
    bool DFS(TreeNode* node,int sum,int res){
        if(!node)
            return false;
        res+=node->val;
        if(!node->left&&!node->right){
            if(res==sum)return true;
            else
                return false;
        }
        return DFS(node->left,sum,res)||DFS(node->right,sum,res);
    }
    bool hasPathSum(TreeNode* root, int sum) {
        // write code here
        if(!root)return false;
        int res=0;
        bool exist=DFS(root,sum,res);
        return exist;
    }
};