当前位置: 首页 > news >正文

C语言 | Leetcode C语言题解之第437题路径总和III

题目:

题解:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
//递归遍历树节点,判断是否为有效路径
int dfs(struct TreeNode * root, int targetSum,long sum)
{if(root == NULL)//叶子结点返回{return 0;}sum += (long)root->val;//统计节点值if(sum == targetSum)//是一个有效路径 +1{//再进行判断,以本节点还有没有有效路径return 1 + dfs(root->left, targetSum, sum) + dfs(root->right, targetSum, sum);}else//不是有效路径 +0{return dfs(root->left, targetSum, sum) + dfs(root->right, targetSum, sum);}
}
/*
*int pathSum(struct TreeNode* root, int targetSum)
int pathSum:寻找二叉树中路径个数
struct TreeNode* root:树节点
int targetSum:路径大小
返回值:二叉树的路径数
*/
int pathSum(struct TreeNode* root, int targetSum){if(root == NULL){return 0;}//返回当前节点的路径数 + 左子树的路径数 + 右子树的路径数return dfs(root, targetSum, (long)0) + pathSum(root->left, targetSum) + pathSum(root->right, targetSum);
}
http://www.lryc.cn/news/446475.html

相关文章:

  • Linux-TCP重传
  • Python通过Sqlalchemy框架实现增删改查
  • windows C++ - 任务计划程序(并发运行时)
  • 多米诺骨牌(模拟)
  • Unity DOTS系列之Struct Change核心机制分析
  • 「数组」定长滑动窗口|不定长滑动窗口 / LeetCode 2461|2958(C++)
  • 【华为】用策略路由解决双出口运营商问题
  • 第L2周:机器学习|线性回归模型 LinearRegression:1. 简单线性回归模型
  • 1.5 测试用例
  • P1101 单词方阵
  • 通过 OBD Demo 体验 OceanBase 4.3 社区版
  • 浅拷贝和深拷贝(Java 与 JavaScript)
  • 力扣每日一题 2306.公司命名
  • HTML-DOM模型
  • vue项目报错: At least one is required in a single file component.的主要原因及解决办法
  • 03DSP学习-利用syscfg配置IO
  • web - RequestResponse
  • 个人文章汇总
  • Java | Leetcode Java题解之第436题寻找右区间
  • 大模型智能体在金融公告理解领域的应用 | OPENAIGC开发者大赛高校组AI创新之星奖
  • 链表入门(LeetCode题目)
  • kibana开启访问登录认证
  • Java 14Java 15新特性概述
  • 流量特征随机ua修改
  • CSP-S 2024 提高级 第一轮(初赛) 阅读程序(3)
  • 如何在 Rust 中通过 Rumqttc 实现 MQTT 通信
  • 广东高校建设AIGC实验室时需要注意哪几个关键点?
  • 设计模式-PIMPL 模式
  • Docker部署MongoDB教程
  • 堆排序易错点