博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 437. 路径总和 III
阅读量:4595 次
发布时间:2019-06-09

本文共 1170 字,大约阅读时间需要 3 分钟。

题目描述:

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

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

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

二叉树不超过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 -> 32.  5 -> 2 -> 13.  -3 -> 11
/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    int num=0;    void dfs(TreeNode* root, int sum)    {        if( sum == root->val)        {            num++;        }        if(root->left == NULL && root->right == NULL)            return;        if(root->left != NULL)        {            dfs(root->left,sum-(root->val));        }        if(root->right != NULL)        {            dfs(root->right,sum-(root->val));        }    }    int pathSum(TreeNode* root, int sum) {        if(root == NULL)            return 0;        dfs(root,sum);        pathSum(root->left,sum);        pathSum(root->right,sum);        return num;    }};

题目链接:

转载于:https://www.cnblogs.com/hdyss/p/10800484.html

你可能感兴趣的文章
博客页面练习
查看>>
NOI 4978 宠物小精灵之收服(二维背包)
查看>>
配置信息写入到.ini文件中的方法
查看>>
treeview展开一个节点就关闭其他节点
查看>>
My First J2ME
查看>>
为Atmega328P定制bootloader 添加自己的板卡到Arduino IDE
查看>>
本地SVN服务器的搭建(WINDOWS环境)
查看>>
大型运输行业实战_day09_1_日期转换与My97DatePicker插件使用
查看>>
【20171111】Codevs 1098 均分纸牌
查看>>
UVA - 213解题报告
查看>>
Nios II实用之音频控制
查看>>
【应用】nRF24L01无线模块在单片机与FPGA上的应用
查看>>
Simplified English v.s. Vocabulary Bank for ESL
查看>>
wordpress 搭建安装教程 2 安装Apache
查看>>
【清华集训2014】Sum
查看>>
SQL注入漏洞测试工具比较
查看>>
采用smarty开发的小论坛的学习总结
查看>>
Flexible 弹性盒子模型之CSS flex-direction
查看>>
linux的nohup命令的用法
查看>>
Xilinx ISE中使用Synplify综合报错的原因之二
查看>>