Leetcode No.437 路徑總和 二叉樹 回溯法

題目大意

給定一個二叉樹,它的每個結(jié)點(diǎn)都存放著一個整數(shù)值。
找出路徑和等于給定數(shù)值的路徑總數(shù)。
路徑不需要從根節(jié)點(diǎn)開始,也不需要在葉子節(jié)點(diǎn)結(jié)束,但是路徑方向必須是向下的(只能從父節(jié)點(diǎn)到子節(jié)點(diǎn))。
二叉樹不超過1000個節(jié)點(diǎn),且節(jié)點(diǎn)數(shù)值范圍是 [-1000000,1000000] 的整數(shù)。

示例

image.png

方法:遞歸法

 public int pathSum(TreeNode root, int sum) {
        if(root==null) return 0;
        return paths(root,sum)+pathSum(root.left,sum)+pathSum(root.right,sum);
    }

private int paths(TreeNode root,int sum) {
        if(root == null) return 0;
        int res = 0;
        if(root.val == sum) 
            res += 1;
        res += paths(root.left,sum-root.val);
        res += paths(root.right,sum-root.val);
        return res;
    } 

運(yùn)行時間17ms,77.24%。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • LeetCode 第 104 題:二叉樹的最大深度 提示:思路1:后序遍歷:看完左右子樹,才能計(jì)算自己; 思路2:...
    李威威閱讀 881評論 0 4
  • 樹形結(jié)構(gòu)是一種十分重要的數(shù)據(jù)結(jié)構(gòu)。二叉樹、樹與樹林都屬于樹形結(jié)構(gòu)。 樹形結(jié)構(gòu)每個結(jié)點(diǎn)最多只有一個前驅(qū)結(jié)點(diǎn),但可以有...
    cain_huang閱讀 2,117評論 0 11
  • 概述# 二叉樹是一種特殊的樹型結(jié)構(gòu),它由結(jié)點(diǎn)的有限集合構(gòu)成。 二叉樹是由唯一的起始結(jié)點(diǎn)引出的結(jié)點(diǎn)集合。這個起始節(jié)點(diǎn)...
    長胖的魚閱讀 1,229評論 0 8
  • 四、樹與二叉樹 1. 二叉樹的順序存儲結(jié)構(gòu) 二叉樹的順序存儲就是用數(shù)組存儲二叉樹。二叉樹的每個結(jié)點(diǎn)在順序存儲中都有...
    MinoyJet閱讀 1,735評論 0 7
  • 本文首發(fā)于我的個人博客:尾尾部落 0. 幾個概念 完全二叉樹:若二叉樹的高度是h,除第h層之外,其他(1h-1)層...
    繁著閱讀 3,248評論 3 49

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