Easy-题目36:112. Path Sum
2016-05-30 20:27
302 查看
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary tree and sum = 22,
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
题目大意:
给出一个二叉树和一个和值,判断是否存在一条从根节点到叶节点路径,使得路径上所有值之和等于给定的和值。
题目分析:
(1) 若该节点为空,则不存在;
(2) 若该节点为叶子节点,则判断节点值是否等于当前和值;
(3) 若不是叶子节点,则向左右子树分别递归搜索下去。
源码:(language:c)
成绩:
4ms,beats 73%,众数4ms,27%
For example:
Given the below binary tree and sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
题目大意:
给出一个二叉树和一个和值,判断是否存在一条从根节点到叶节点路径,使得路径上所有值之和等于给定的和值。
题目分析:
(1) 若该节点为空,则不存在;
(2) 若该节点为叶子节点,则判断节点值是否等于当前和值;
(3) 若不是叶子节点,则向左右子树分别递归搜索下去。
源码:(language:c)
bool hasPathSum(struct TreeNode* root, int sum) { if(!root) return 0; else if (!root->left && !root->right) return root->val==sum; else return hasPathSum(root->left,sum-root->val) || hasPathSum(root->right,sum-root->val); }
成绩:
4ms,beats 73%,众数4ms,27%
相关文章推荐
- .m 文件与.mm文件的区别
- Java代码实现AP向CP侧发送AT指令
- Easy-题目35:9. Palindrome Number
- 反转链表17
- 2016SDAU课程练习三1013
- 搜集整理java中GC的理解
- java 基于jxl解析xls以及解决丢失精度问题
- mysql 锁表解锁
- 十四周项目-项目3-数组类模板
- 持续集成(上)
- linux学习笔记2 - linux常用命令
- 设计模式学习笔记--迭代器模式
- 查看文件大小命令
- 自动化测试之uiautomator
- 求string字符串长度
- 模拟登录学校教务网 获取课程表信息
- Redis 复制
- 如何将excel表格数据使用图形化工具workbench导入mysql数据库中
- 费马数学习总结
- Android简单自定义圆形和水平ProgressBar