【leetcode】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
return true, as there exist a root-to-leaf path 5->4->11->2 which sum is 22.
解题思路:
注意这里的路径必须是从根到叶子(必须到叶子!)。这里有个神奇的现象sum -= root.val这句不谢的话,下面改成if sum == root.val and root.left == None and root.right == None:就过不了
# Definition for a  binary tree node
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # @param root, a tree node
    # @param sum, an integer
    # @return a boolean
    def hasPathSum(self, root, sum):
        ret = False
        if root == None:
            return ret
        sum -= root.val
        if sum == 0 and root.left == None and root.right == None:
            ret = True
        return ret or self.hasPathSum(root.left,sum) or self.hasPathSum(root.right,sum)【leetcode】Path Sum的更多相关文章
- 【leetcode】Path Sum IV
		If the depth of a tree is smaller than 5, then this tree can be represented by a list of three-digit ... 
- 【leetcode】Path Sum II
		Path Sum II Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals ... 
- 【LeetCode】Path Sum 2   --java   二叉数 深度遍历,保存路径
		在Path SUm 1中(http://www.cnblogs.com/hitkb/p/4242822.html) 我们采用栈的形式保存路径,每当找到符合的叶子节点,就将栈内元素输出.注意存在多条路径 ... 
- 【LeetCode】Path Sum  ---------LeetCode  java  小结
		Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addi ... 
- 【leetcode】Path Sum I & II(middle)
		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 II 二叉树递归
		Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ... 
- 【LeetCode】Path Sum(路径总和)
		这道题是LeetCode里的第112道题.是我在学数据结构——二叉树的时候碰见的题.题目要求: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ... 
- 【LeetCode】129. Sum Root to Leaf Numbers 解题报告(Python)
		[LeetCode]129. Sum Root to Leaf Numbers 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/pr ... 
- 【leetcode】907. Sum of Subarray Minimums
		题目如下: 解题思路:我的想法对于数组中任意一个元素,找出其左右两边最近的小于自己的元素.例如[1,3,2,4,5,1],元素2左边比自己小的元素是1,那么大于自己的区间就是[3],右边的区间就是[4 ... 
随机推荐
- Struts2--属性设置方式
			Struts2自动获取/设置数据的方式一共分为两种 属性驱动(FieldDriven) 模型驱动(ModelDriven) 属性驱动 属性又分为两种: |- 基本数据类型 |- JavaBean属性类 ... 
- 【转载】如何用IntelliJ IDEA 14 创建Web项目
			首先要理解一个概念:在IntelliJ IDEA中"new Project"相当于eclipse中的工作空间(Workspace),而"new Module"相 ... 
- SSH正反向隧道
			正向隧道 拓扑如下: 说明: CLIENT不能直接访问WEB服务器,AGENT可访问WEB服务器: 在AGENT上通过创建ssh正向隧道,使CLIENT可以通过AGENT间接访问WEB服务器: AGE ... 
- Oracle函数组的使用
			--1.组函数--COUNT():用来统计记录的条数 如果没有记录,返回 0--COUNT函数可以根据一列或多列进行计算,没有排重功能--统计EMP表一共有多少条记录select count(empn ... 
- 【Java之对象清理】finalize()的用途
			Java允许在类中定义一个名为finalize()的方法.它的工作原理是:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法.并且在下一次垃圾回收动作发生时,才会真正回收 ... 
- 关于li元素嵌套的事儿
			今天阅读<锋利的jQuery>第二版2.6节案例研究部分的时候,遇到一个问题. <ul> <li class="a1"><a href=& ... 
- Dijkstra 算法
			all the nodes should be carectorized into three groups: (visited, front, unknown) we should pay spec ... 
- zookeeper_service 出错 java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exception/ZkNoNodeException
			2016-12-18 08:28:07 ContextLoader:358 ERROR - Context initialization failed java.lang.NoClassDefFoun ... 
- Eclipse相关问题
			如何修改Eclipse的 workspace目录 Eclipse是一款很强的Java IDE,我们在开始的时候,往往设定了默认的workspace,当用久在之后,我们可能要去更改一下workspace ... 
- android3D动画,绕y轴旋转
			原文地址:http://blog.csdn.net/x_i_a_o_h_a_i/article/details/40449847 其实网上的3D旋转的例子很多,在这里我只是想把其代码做一个解释. 先上 ... 
