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

devtools/2024/9/29 21:36:50/

题目:

题解

/*** 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.ppmy.cn/devtools/118900.html

相关文章

深入剖析 Android Lifecycle:构建高效稳定的应用

在 Android 开发中,管理应用组件的生命周期是至关重要的。正确处理生命周期事件可以确保应用的性能、稳定性和用户体验。Android Framework 提供了一系列的机制来管理应用组件的生命周期,而android.arch.lifecycle库则为我们提供了更简洁、更灵活的方式来…

【Linux】初识进程

目录 基本概念 PCB task_struct task_struct内容分类 组织进程 查看进程 查看正在运行的进程信息 获取pid和ppid 创建子进程 基本概念 一个已经加载到内存中的程序,叫做进程,正在运行的程序,叫做进程,进程是担当分配系统…

Unity3D 中构建行为树插件详解

前言 在Unity3D中,行为树(Behavior Tree)是一种用于游戏AI设计和实现的高级工具,它提供了一种结构化和模块化的方式来管理游戏实体的行为。行为树通过树状结构组织了一系列节点,每个节点代表了一个决策或动作。这种结…

学Python再学C++是走弯路?

随着编程教育的普及,越来越多的家长和学生开始选择学习编程语言。Python作为一种简洁易学、应用广泛的编程语言,成为许多编程初学者的首选。然而,随着学习的深入,很多人会考虑转向更复杂、更底层的语言,如C。这就引发了…

二十、微服务(基本概念与SOA的区别)

微服务架构(Microservices Architecture)是近年来在软件开发中广受欢迎的架构风格,尤其在构建大型、复杂系统时展现出巨大优势。它与SOA(面向服务架构)在理念上有相似之处,但在实现方式、设计原则以及应用场景上存在显著区别。 微服务架构的基本概念 微服务架构是一种将…

自然语言处理实战项目:从理论到实现

一、引言 自然语言处理(NLP)是计算机科学、人工智能和语言学交叉的领域,旨在让计算机能够理解、处理和生成人类语言。随着互联网的飞速发展,大量的文本数据被产生,这为自然语言处理技术的发展提供了丰富的素材&#xf…

23个Python在自然语言处理中的应用实例

在自然语言处理(NLP)领域,Python作为一门功能强大的编程语言,凭借其丰富的库和工具集,成为了实现各种NLP任务的首选。以下是一个关于Python在NLP中应用的广泛实例的前言,旨在概述Python在NLP领域的多样性和…

js逆向——webpack实战案例(一)

今日受害者网站:https://www.iciba.com/translate?typetext 首先通过跟栈的方法找到加密位置 我们跟进u函数,发现是通过webpack加载的 向上寻找u的加载位置,然后打上断点,刷新网页,让程序断在加载函数的位置 u r.n…