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

news/2024/9/29 2:09:35/

题目:

题解

/*** 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/news/1530637.html

相关文章

ubuntu20.04.6 触摸屏一体机,外接视频流盒子开机输入登录密码触屏失灵问题解决方法

1. 首先直接运行xrandr命令,查看设备的相关信息: 运行之后会显示当前连接设备的屏幕信息,如下图,LVDS和VGA-0,而HDMI屏幕为disconnect,意为没有连接: 2. 设置开机主屏幕显示: xrand…

用于多模态MRI重建的具有空间对齐的深度展开网络|文献速递--基于多模态-半监督深度学习的病理学诊断与病灶分割

Title 题目 Deep unfolding network with spatial alignment for multi-modal MRI reconstruction 用于多模态MRI重建的具有空间对齐的深度展开网络 01 文献速递介绍 磁共振成像(MRI)因其无创性、高分辨率和显著的软组织对比度,已成为广…

VSCode#include头文件时找不到头文件:我的解决方法

0.前言 1.在学习了Linux之后,我平常大部分都使用本地的XShell或者VSCode连接远程云服务器写代码,CentOS的包管理器为我省去了不少繁琐的事情,今天使用vscode打开本地目录想写点代码发现#include头文件后,下方出现了波浪线&#…

Ubuntu23.10下处理libncurses5-dev包的安装问题

Ubuntu23.10下处理libncurses5-dev包的安装问题 导语环境准备问题和解决方案总结参考文献 导语 使用Ubuntu23.10的时候,遇到需要termios的场景,结果发现无论是codeblocks还是系统本身的gcc都无法找到term.h和curse.h,网上找了很多解决方案都…

go语言中的切片详解

1.概念 在Go语言中,切片(Slice)是一种基于数组的更高级的数据结构,它提供了一种灵活、动态的方式来处理序列数据。切片在Go中非常常用,因为它们可以动态地增长和缩小,这使得它们比固定大小的数组更加灵活。…

基于深度学习的情感生成与交互

基于深度学习的情感生成与交互是一个新兴的研究领域,旨在通过深度学习技术生成具有情感的反应,以增强人机交互的自然性和有效性。该技术涉及情感识别、自然语言处理、计算机视觉等多个领域,并在多个应用场景中展现出潜力。 情感生成的主要方…

YOLOv9改进策略【损失函数篇】| Varifocal Loss,解决密集目标检测器训练中前景和背景类别间极端不平衡的问题

一、本文介绍 本文记录的是改进YOLOv9的损失函数,将其替换成Varifocal Loss,并详细说明了优化原因,优势等。Varifocal Loss解决了现有密集目标检测器中分类分数与目标定位准确性不匹配的问题,并且避免通过预测额外的IoU分数或中心度分数来进行检测排序所带来的次优结果和额…

Clion使用vcpkg管理C/C++包

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Clion安装vcpkg二、使用步骤1.切换到清单模式2.开始安装包 三、测试代码总结 前言 Linux上的库基本都可以通过apt或yum等包管理工具来在线安装包&#xff…