Leetcode#437. 路径总和 III,C++实现

1. 题目

Leetcode#437. 路径总和 III,C++实现

2. 方法一

2.1. 代码

class Solution {
public:
    int pathSum(TreeNode* root, int sum) {
        if(root==NULL) return 0;
        return pathSumwithroot(root,sum)+pathSum(root->left,sum)+pathSum(root->right,sum);
        
    }
    int pathSumwithroot(TreeNode* root, int sum)
    {
        if(root==NULL) return 0;
        int path_num=0;
        if(root->val==sum) path_num++;
        path_num+=pathSumwithroot(root->left,sum-root->val)+pathSumwithroot(root->right,sum-root->val);
        return path_num;
    }
};

2.2. 结果

Leetcode#437. 路径总和 III,C++实现