zoukankan      html  css  js  c++  java
  • 【leetcode】437. Path Sum III

    题目如下:

    You are given a binary tree in which each node contains an integer value.

    Find the number of paths that sum to a given value.

    The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).

    The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.

    Example:

    root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
    
          10
         /  
        5   -3
       /     
      3   2   11
     /    
    3  -2   1
    
    Return 3. The paths that sum to 8 are:
    
    1.  5 -> 3
    2.  5 -> 2 -> 1
    3. -3 -> 11

    解题思路:题目数据量不大,我尝试着用递归嵌套递归的方法,发现也能AC。

    代码如下:

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        res = 0
        def recursive(self,node,sum):
            self.recursive2(node,0,sum)
            if node.left != None:
                self.recursive(node.left, sum)
            if node.right != None:
                self.recursive(node.right,sum)
        def recursive2(self,node,amount,sum):
            if node.val + amount == sum:
                self.res += 1
            if node.left != None:
                self.recursive2(node.left, amount + node.val , sum)
            if node.right != None:
                self.recursive2(node.right,amount + node.val, sum)
    
        def pathSum(self, root, sum):
            """
            :type root: TreeNode
            :type sum: int
            :rtype: int
            """
            self.res = 0
            if root != None:
                self.recursive(root,sum)
            return self.res
            
  • 相关阅读:
    一些常用的库[转载]
    《三国演义》很给力演绎60条职场真理
    保证你现在和未来不失业的10种关键技【转载】
    百度面试题
    百度的一到算法i题
    FindMaxDeep
    csinglelink
    FindLongArray
    byte转hex,hex转byte
    获取异常信息
  • 原文地址:https://www.cnblogs.com/seyjs/p/10399515.html
Copyright © 2011-2022 走看看