程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [leetcode] path sum @ Python [recursion]

[leetcode] path sum @ Python [recursion]

編輯:C++入門知識

[leetcode] path sum @ Python [recursion]


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.   思路: 遞歸的暴力破解。   窮盡式的解決了所有子問題後,就放心的自我調用吧。   復制代碼 # 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):         if root == None: return False         if root.val == sum and root.left == None and root.right == None:              return True         return self.hasPathSum(root.left, sum - root.val) or self.hasPathSum(root.right, sum - root.val)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved