二叉樹中和為某一值的路徑

image.png

用回溯法!??!
前序優(yōu)先遍歷(dfs), 判斷是否滿足條件,滿足就累計一個答案,然后深度遍歷,別忘了最后回溯,要刪掉路徑中的節(jié)點

代碼:

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回二維列表,內(nèi)部每個列表表示找到的路徑
    def FindPath(self, root, expectNumber):
        # write code here
        if root == None:
            return []
        self.ans = []
        path = []
        currentSum = 0
        self.findPath(root, expectNumber, path, currentSum)
        return self.ans
    def findPath(self, root, expectNumber, path, currentSum):
        #if root == None:
            #return
        currentSum += root.val
        path.append(root.val)
        isleaf = (root.left == None and root.right == None)
        if currentSum == expectNumber and isleaf:
            tmp = []
            if path:
                tmp = path[:]
            self.ans.append(tmp)
        if root.left:
            self.findPath(root.left, expectNumber, path, currentSum)
        if root.right :
            self.findPath(root.right, expectNumber, path, currentSum)
        del path[-1]
        
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 眾人皆知貓咪高傲,所以深知貓咪主動示好的可貴性,但是坐等主子示好,簡直千金難求,小編來教你,怎樣讓那高傲的小家伙主...
    夏筱白閱讀 10,034評論 1 4
  • 今天,天氣悶熱,楊花橫飛,很煩;今天,路遇一熟人,主動打招呼,人家?guī)缀鯖]什么反應(yīng),很惱;今天,吃飯時,剛提到學(xué)習(xí)的...
    教育經(jīng)典擷粹閱讀 571評論 0 0
  • 想起在廣東的幾件小事兒 1.那天獨自在大夫山騎行,迎面騎過來一個小女孩,感覺像是初中生的樣子,快要擦肩而過的時候,...
    糞干閱讀 249評論 0 1

友情鏈接更多精彩內(nèi)容