给定一个二叉树,它的每个结点都存放着一个整数值。

找出路径和等于给定数值的路径总数。

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

二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。

示例:

root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

10

/ \

5   -3

/ \      \

3     2    11

/ \     \

3  -2    1

返回 3。和等于 8 的路径有: 1. 5 -> 3 2. 5 -> 2 -> 1 3. -3 -> 11

class Solution {
public:
int res = 0;
int pathSum(TreeNode* root, int sum) {
if(root == NULL)
return 0;
DFS(root, sum);
pathSum(root ->left, sum);
pathSum(root ->right, sum);
return res;
} void DFS(TreeNode* root, int val)
{
if(val - root ->val == 0)
{
res++;
}
if(root ->left == NULL && root ->right == NULL)
return;
if(root ->left != NULL)
{
DFS(root ->left, val - root ->val);
}
if(root ->right != NULL)
{
DFS(root ->right, val - root ->val);
}
}
};

最新文章

  1. C#字符串操作 取文本左边 取文本右边 取文本中间 取文本中间到List集合 指定文本倒序
  2. 老项目的#iPhone6于iPhone6Plus适配#iPhone6分辨率与适配
  3. ArcGIS Engine开发之旅10--空间参考及坐标转换
  4. Linux sync命令的作用
  5. cocos2dx 2.x 版本+Windows+ADT Bundle 配置
  6. OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
  7. 阿里云server该数据光盘安装操作
  8. utf8 文件 错误保存为gbk 中文乱码 解决方法
  9. OpenGL ES2.0入门详解
  10. 老司机实战Windows Server Docker:2 docker化现有iis应用的正确姿势
  11. General Thread States
  12. return 的使用
  13. iOS开发中KVC、KVO简介
  14. 随机数据生成与对拍【c++版,良心讲解】
  15. 基于Selenium的web自动化框架
  16. 让我们了解 Ceph 分布式存储
  17. 【Java】-NO.11.Java.1.Log4j.1.001-【Log4j Manual】-
  18. Spring注解@Primary的意思
  19. JQuery File Upload 插件 出现 “empty file upload result” 错误的解决方案。
  20. 多线程、多进程、协程、IO多路复用请求百度

热门文章

  1. selenium基础(下拉菜单操作)
  2. java笔试之求最大连续bit数
  3. tomcat下面部署多个项目
  4. Luogu P1039 侦探推理(模拟+枚举)
  5. ubuntu下apache服务器操作方法小结,具有参考借鉴价值
  6. Spring Boot 整合 ActiveMQ
  7. C++模拟实现Objective-C协议和代理模式
  8. 最后的egret
  9. memcache课程---2、php如何操作memcache
  10. Java-MyBatis-MyBatis3-XML映射文件:insert, update 和 delete