zoukankan      html  css  js  c++  java
  • [LC] 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 the values along the path equals the given sum.

    Note: A leaf is a node with no children.

    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 # Definition for a binary tree node.
     2 # class TreeNode:
     3 #     def __init__(self, x):
     4 #         self.val = x
     5 #         self.left = None
     6 #         self.right = None
     7 
     8 class Solution:
     9     def hasPathSum(self, root: TreeNode, sum: int) -> bool:
    10         res = self.helper(root, sum)
    11         return res
    12     
    13     def helper(self, root, sum):
    14         if root is None:
    15             return False
    16         if root.left is None and root.right is None:
    17             if sum == root.val:
    18                 return True
    19             else:
    20                 return False
    21         left = self.helper(root.left, sum - root.val)
    22         right = self.helper(root.right, sum - root.val)
    23         return left or right
  • 相关阅读:
    IOS之Block的应用-textFeild的回调应用
    KVC与KVO的不同
    git
    perl读取excel
    Linux用户管理
    Linux软件包的管理
    linux系统学习(二)
    linux系统学习(一)
    js模版渲染
    Discuz核心函数的解析
  • 原文地址:https://www.cnblogs.com/xuanlu/p/11684198.html
Copyright © 2011-2022 走看看