112. Path Sum
来源:互联网 发布:c语言中temp什么意思 编辑:程序博客网 时间:2024/06/16 19:19
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
,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.
题目翻译: 给定一颗二叉树和一个特定值,写一个方法来判定这棵树是否存在这样一种条件,
使得从root到其中一个叶子节点的路径的和等于给定的sum值;
解题思路:直接用DFS就可以求解;
代码如下:
/**
* 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:
bool hasPathSum(TreeNode* root, int sum) {
if(root == NULL)
return false;
return DFS(sum, 0, root);
}
bool DFS(int target, int sum, TreeNode* root){
if(root == NULL)
return false;
sum += root->val;
if(root->left == NULL && root->right == NULL){
if(sum == target)
return true;
else
return false;
}
bool leftPart = DFS(target, sum, root->left);
bool rightPart = DFS(target, sum, root->right);
return leftPart||rightPart;
}
};
- 112. Path Sum && 113. Path Sum II
- 112. Path Sum&113. Path Sum II
- 112.Path Sum
- LeetCode 112. Path Sum
- [LeetCode]112.Path Sum
- 【LeetCode】112.Path Sum
- [Leetcode] 112. Path Sum
- [leetcode] 112.Path Sum
- 112.Path Sum
- 112. Path Sum
- 112. Path Sum
- 112. Path Sum
- 112. Path Sum
- 112. Path Sum LeetCode
- 112. Path Sum
- 112. Path Sum
- 112. Path Sum
- 112. Path Sum
- linux c下简单实现服务端与多客户端同时连接
- Java异常机制
- BZOJ 4521 [Cqoi2016]手机号码
- 管道通讯的学习笔记
- Lintcode 装最多水的容器
- 112. Path Sum
- Day2:实战1
- 安卓播放器
- 我需要的就是电钻,不要再问为什么了
- date命令
- Linux网络属性配置详解
- 为什么不要把ZooKeeper用于服务发现
- HTML基础元素(2)
- 线性代数与解析几何 学习和上机指导-Matlab代码