Path Sum
来源:互联网 发布:初中生编程培训 编辑:程序博客网 时间:2024/09/21 06:42
题目详情:https://leetcode.com/problems/path-sum/description/
本题中设置isLeaf的原因是避免出现[1,2],sum=1的情况,即必须是从根节点到叶子节点。
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneimport sysclass Solution(object): def hasPathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: bool """ isLeaf=False if sum==0 and root==None: return False if root!=None and root.left==None and root.right==None: isLeaf=True now=0 return self.getDepthSum(root,sum,now,isLeaf) def getDepthSum(self,root,sum,now,isLeaf): if root==None: #如果节点为空 if sum==now and isLeaf==True:#如果当前节点(为空)的父节点为叶子节点且sum==now return True #则返回真 else: #其余的情况返回假值 return False else: isLeaf=False #设置当前节点是否为叶子节点。isLeaf为假代表不是叶子节点 if root.left==None and root.right==None: #为叶子节点 isLeaf=True #isLeaf置为真 left=self.getDepthSum(root.left,sum,now+root.val,isLeaf)#递归左子树 right=self.getDepthSum(root.right,sum,now+root.val,isLeaf)#递归右子树 return left or right
阅读全文
0 0
- Path Sum && Path Sum ||
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- Path Sum
- POJ
- 图像基本变换---图像二值化(包含OSTU/迭代法/统计法/双峰法/P分位法/最大熵法)
- ActiveMQ入门实例
- 输出今天的日期,以YYYY-MM-DD的方式,比如今天是2017年7月29日,则输出2017-07-29
- Android_Manager:PackageManager
- Path Sum
- HDU 6035 Colorful Tree(树形DP)
- Set 不重复实现原理
- 详述获取字节码文件及其内容的方法
- LintCode python 小白-简单题-22平面列表
- poj 3683 2SAT入门+挑战模板
- 《Drools7.0.0.Final规则引擎教程》第4章 4.4 LHS简介&Pattern
- 冒泡排序、插入排序和选择排序
- 百度、腾讯和阿里内部的级别和薪资待遇是什么样的?