437_PathSumIII - a920604a/leetcode GitHub Wiki


title: 437. Path Sum III tags:
- backtracking categories: leetcode comments: false

problem

solution

class Solution {
public:
    long traverse(TreeNode * root, long targetSum){
        
        if(!root) return 0;
        
        targetSum -= root->val;
        inlongt ret = 0;
        if(targetSum==0) ret++;
        ret+=traverse(root->left, targetSum)+traverse(root->right, targetSum);
        return ret;
    }
    int pathSum(TreeNode* root, int targetSum) {
        
        if(!root ) return 0;
        // 路徑包含當下的節點
        long ret = traverse(root, targetSum);
        
        ret += pathSum(root->left, targetSum);
        ret += pathSum(root->right, targetSum);
        return ret;
        
    }
};