LeetCode OJ:Path Sum(路径之和)
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
要求求出是否有一条路径和与给出的值相等,注意中间节点与叶子节点的判断:
/**
* 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 checkSum(root, sum);
} bool checkSum(TreeNode* root, int sum)
{
if(root != NULL && sum == root->val && root->left == NULL && root->right == NULL){
return true;//上面这个判断确实是叶子节点,值也同时满足
}
else if(root == NULL)
return false;
else
return checkSum(root->left, sum - root->val) || checkSum(root->right, sum - root->val);
}
};
java版本的如下,递归版本的没上面那么麻烦:
 public class Solution {
     public boolean hasPathSum(TreeNode root, int sum) {
         if(root == null)
             return false;
         if(root.left == null && root.right == null){
             return sum == root.val;
         }
         return hasPathSum(root.left, sum - root.val) ||
                hasPathSum(root.right, sum - root.val);
     }
 }
LeetCode OJ:Path Sum(路径之和)的更多相关文章
- [LeetCode] 112. Path Sum 路径和
		
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
 - [leetcode] Path sum路径之和
		
要求给定树,与路径和,判断是否存在从跟到叶子之和为给定值的路径.比如下图中,给定路径之和为22,存在路径<5,4,11,2>,因此返回true;否则返回false. 5 / \ 4 8 / ...
 - [leetcode]112. Path Sum路径和(是否有路径)
		
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
 - 【LeetCode】Path Sum(路径总和)
		
这道题是LeetCode里的第112道题.是我在学数据结构——二叉树的时候碰见的题.题目要求: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ...
 - LeetCode 112. Path Sum路径总和 (C++)
		
题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...
 - [LeetCode] 666. Path Sum IV 二叉树的路径和 IV
		
If the depth of a tree is smaller than 5, then this tree can be represented by a list of three-digit ...
 - [LeetCode] 113. Path Sum II 路径和 II
		
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
 - [LeetCode] 437. Path Sum III 路径和 III
		
You are given a binary tree in which each node contains an integer value. Find the number of paths t ...
 - [LeetCode] 437. Path Sum III_ Easy tag: DFS
		
You are given a binary tree in which each node contains an integer value. Find the number of paths t ...
 - [LeetCode] 113. Path Sum II 二叉树路径之和之二
		
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
 
随机推荐
- Parzen-Window Density Estimation(PWDE)
			
1.概率密度函数 在在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数.而随机变量的取值落在某个区域之内的概 ...
 - 判断点是否在区域的python实现(射线法)
			
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-10-07 15:49:37 # @Author : Sheldon (thi ...
 - 调用settings.py的配置信息作为全局使用
			
项目中一些比较零散的信息可以保存在数据库,也可以保存在settings.py里面 并且这些变量也可以像引用数据里面的数据使用, 可以把信息保存在settings.py里面,也可以保存在数据 ...
 - 最小化CentOS6.7(64bit)---安装mysql5.5、jdk、tomcat
			
********mysql******** ------------------------------------------------------------------------------ ...
 - dict字典常用方法总结,数据解构(解包)
			
dict {'name':'holle'}字典存储大量关联型数据,可迭代的,最多只有200个键.查询数据速度非常快,符合二分查找(有100个数比如找75会先找到50然后判断,所以2^7次方7次即可找到 ...
 - 前端 JavaScript&Dom
			
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现 ...
 - loadrunder之脚本篇——int类型和字符串的相互转换
			
字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345"); //将字符串变为整形 lr_output_message(" ...
 - 前端自动化构建工具-gulp
			
gulp 和grunt这两个是我知道的自动构建工具,但是说实话都没在项目中用过,不太清楚自动化构建是什么意思, 1.grunt和gulp有什么相同点和不同点? (1).易于使用:采用代码优于配置策略, ...
 - Xshell 5  上传下载插件
			
#yum -y install lrzsz #rz 上传 sz用法: 下载一个文件 sz filename 下载多个文件 sz filename1 filename2 下载dir目录下的所有文件,不包 ...
 - 【bzoj1318】[Spoj744] Longest Permutation(乱搞)
			
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1318 这道题的大意是要求一个长度为len,并包含1~len所有数,并使len最大的子区 ...