leetcode 437 路径总和

给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。

路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

https://leetcode.cn/problems/path-sum-iii/description/?envType=study-plan-v2&envId=top-100-liked

思路:
通过深度优先算法,对树中的每个节点进行暴力搜索

细节:
假如a节点已经满足条件了,此时还需要继续搜索(因为可能会出现+1 -1的情况)
所以此时sum++ 而不是直接退出搜索

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     long val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(long x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(long x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
   
public:
    long rootSum(TreeNode* root, long targetSum)
    {
   
        if(root == nullptr)
        {
   
            return 0;
        }
        long sum = 0;
        if(targetSum == root->val)
        {
   
            sum++;
        }
        sum += rootSum(root->left, targetSum-root->val);
        sum += rootSum(root->right, targetSum-root->val);

        return sum; 
    }
    long pathSum(TreeNode* root, long targetSum) {
   
        if(root == nullptr)
        {
   
            return 0;
        }
        long sum = rootSum(root, targetSum);
        sum += pathSum(root->left, targetSum);
        sum += pathSum(root->right, targetSum);

        return sum;
    }
};

相关推荐

  1. leetcode 437 路径总和

    2024-01-13 01:30:01       37 阅读
  2. LeetCode437题:路径总和III(python3)

    2024-01-13 01:30:01       19 阅读
  3. leetcode-路径总和

    2024-01-13 01:30:01       39 阅读
  4. leetcode112.路径总和

    2024-01-13 01:30:01       19 阅读
  5. LeetCode112 路径总和

    2024-01-13 01:30:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 01:30:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 01:30:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 01:30:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 01:30:01       18 阅读

热门阅读

  1. 医院患者满意度调查报告如何撰写

    2024-01-13 01:30:01       33 阅读
  2. openssl3.2 - 官方demo学习 - server-conf.c

    2024-01-13 01:30:01       31 阅读
  3. 2024.1.4力扣每日一题——被列覆盖的最多行数

    2024-01-13 01:30:01       37 阅读
  4. DEJA_VU3D - Cesium功能集 之 112-获取圆节点(1)

    2024-01-13 01:30:01       37 阅读
  5. 关键字联合体union的定义和使用

    2024-01-13 01:30:01       29 阅读
  6. 学习之路 会有很多失败

    2024-01-13 01:30:01       37 阅读
  7. git中常用的tag命令

    2024-01-13 01:30:01       28 阅读
  8. 微信小程序案例-03翻页时钟-3

    2024-01-13 01:30:01       42 阅读
  9. expdp时报错ORA-31693&ORA-02354&ORA-01555

    2024-01-13 01:30:01       34 阅读