Leetcode——437. 路徑總和 III
給定一個二叉樹,它的每個結點都存放著一個整數值。
找出路徑和等於給定數值的路徑總數。
路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的(只能從父節點到子節點)。
二叉樹不超過1000個節點,且節點數值範圍是 [-1000000,1000000] 的整數。
示例:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
10
/ \
5 -3
/ \
3 2 11
/ \
3 -2 1
返回 3。和等於 8 的路徑有:
- 5 -> 3
- 5 -> 2 -> 1
- -3 -> 11
思路:照樣是遞迴的思路,注意這裡左右子樹判斷的終止條件
class Solution(object):
def pathSum(self, root, sum):
"""
:type root: TreeNode
:type sum: int
:rtype: int
"""
res = 0
if root == None:
return res
res += self.findPath(root,sum)
res += self.pathSum(root.left,sum)
res += self.pathSum(root.right,sum)
return res
def findPath(self,node,num):
res = 0
if node == None:
return res
if node.val == num:
res += 1
res += self.findPath(node.left, num-node.val)
res += self.findPath(node.left, num-node.val)
return res
時間複雜度有點高
相關文章
- LeetCode - 112 - 路徑總和LeetCode
- LeetCode - 113 - 路徑總和 IILeetCode
- Leetcode——112. 路徑總和LeetCode
- Leetcode——113. 路徑總和 IILeetCode
- LeetCode-113-路徑總和 IILeetCode
- LeetCode每日一題: 路徑總和(No.112)LeetCode每日一題
- 【LeetCode擊敗99%+】二叉樹路徑總和LeetCode二叉樹
- 二叉樹路徑總和二叉樹
- [Leetcode]931.下降路徑最小和LeetCode
- 寫不出來的深度優先搜尋----leetcode113 路徑總和LeetCode
- dede路徑總結
- LeetCode-House Robber IIILeetCode
- 每日一道演算法題--leetcode 112--路徑總和--python演算法LeetCodePython
- PHP中require和include路徑問題總結PHPUI
- 路徑中./和../和/
- 檔案路徑總結
- 日誌路徑彙總
- 每日一道演算法題--leetcode 113--路徑總和II--python演算法LeetCodePython
- [LeetCode] 248. Strobogrammatic Number IIILeetCode
- Day18 | 513. 找樹左下角的值 | 112.路徑總和、113.路徑總和ii
- 檔案絕對路徑和相對路徑
- Jsp相對路徑和絕對路徑JS
- html中的路徑的介紹:絕對路徑和相對路徑HTML
- Linux檔案的路徑定位-相對路徑和絕對路徑Linux
- LeetCode-Shortest Word Distance IIILeetCode
- 【LeetCode】House Robber III(337)LeetCode
- Best Time to Buy and Sell Stock III -- LeetCodeLeetCode
- nodejs路徑處理方法和絕對路徑NodeJS
- 絕對路徑和相對路徑的區別,
- 絕對路徑和相對路徑的區別
- 檔案的相對路徑和絕對路徑以及根相對路徑
- 05_Linux相對路徑和絕對路徑Linux
- [Leetcode]120.三角形路徑最小和LeetCode
- LeetCode-064-最小路徑和LeetCode
- leetcode260-single number iiiLeetCode
- Leetcode-Best Time to Buy and Sell Stock IIILeetCode
- Best Time to Buy and Sell Stock III leetcode javaLeetCodeJava
- 檔案路徑問題( ./ 和 ../ 和 @/ )