112. 路徑總和

題目

解析

拿到這道題的第一個想法就是算出從根結(jié)點到葉子結(jié)點的和的所有情況然后比較是否和sum相同杭措,所以肯定是要用到遞歸的广鳍。先從最簡單的一種情況開始分析:



5作為根結(jié)點蛙婴,先判斷4結(jié)點下面是否有葉子結(jié)點欺劳,沒有則判斷5+4是否等于sum(根結(jié)點+左葉)这敬,如果等于sum,那么就找到了答案媳叨,如果不等于sum腥光,那么就判斷5+8是否等于sum(根結(jié)點+右葉)关顷。如果4下面有葉子結(jié)點,也就是下面這種情況:



根據(jù)上面一步武福,我們已經(jīng)計算出(5+4)和(5+8)了议双,發(fā)現(xiàn)其都不等于sum,這個時候就需要往下繼續(xù)尋找了捉片,把(5+4)的值保存起來平痰,然后再加上此時的左葉結(jié)點的值11,或者把(5+8)的值保存起來伍纫,然后加上此時的左葉結(jié)點/右葉結(jié)點計算判斷是否和sum相等宗雇,以此類推。
此時莹规,我們便可以抽象出一個簡單的算法流程

當(dāng)然赔蒲,這都是要在還未找到匹配值以及node結(jié)點不空的情況下才成立的。
下面附上代碼.

代碼

public class Main {

    public static void main(String[] args) {
        TreeNode t1 = new TreeNode(5);
        t1.left = new TreeNode(4);
        t1.right = new TreeNode(8);
        t1.left.left = new TreeNode(11);
        t1.right.left = new TreeNode(13);
        t1.right.right = new TreeNode(4);
        t1.left.left.left = new TreeNode(7);
        t1.left.left.right = new TreeNode(2);
        t1.right.right.right = new TreeNode(1);

//        TreeNode t2 = new TreeNode(1);

        Main main = new Main();
        System.out.println(main.hasPathSum(t1, 1));
    }

    boolean isOk = false;

    public boolean hasPathSum(TreeNode root, int sum) {
        handle(root, 0, sum);
        return isOk;
    }


    public void handle(TreeNode node, int temp, int sum) {
        if (!isOk && node != null) {
            if (node.left == null && node.right == null && node.val + temp == sum) {
                isOk = true;
            }
            if (node.left != null) {
                handle(node.left, node.val + temp, sum);
            }
            if (node.right != null) {
                handle(node.right, node.val + temp, sum);
            }
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末访惜,一起剝皮案震驚了整個濱河市嘹履,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌债热,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幼苛,死亡現(xiàn)場離奇詭異窒篱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舶沿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門墙杯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人括荡,你說我怎么就攤上這事高镐。” “怎么了畸冲?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵嫉髓,是天一觀的道長。 經(jīng)常有香客問我邑闲,道長算行,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任苫耸,我火速辦了婚禮州邢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褪子。我一直安慰自己量淌,他們只是感情好骗村,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呀枢,像睡著了一般叙身。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上硫狞,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天信轿,我揣著相機(jī)與錄音,去河邊找鬼残吩。 笑死财忽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泣侮。 我是一名探鬼主播即彪,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼活尊!你這毒婦竟也來了隶校?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛹锰,失蹤者是張志新(化名)和其女友劉穎深胳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铜犬,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡舞终,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了癣猾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敛劝。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纷宇,靈堂內(nèi)的尸體忽然破棺而出夸盟,到底是詐尸還是另有隱情,我是刑警寧澤像捶,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布上陕,位于F島的核電站,受9級特大地震影響作岖,放射性物質(zhì)發(fā)生泄漏唆垃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一痘儡、第九天 我趴在偏房一處隱蔽的房頂上張望辕万。 院中可真熱鬧,春花似錦、人聲如沸渐尿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砖茸。三九已至隘擎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凉夯,已是汗流浹背货葬。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留劲够,地道東北人震桶。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像征绎,于是被迫代替她去往敵國和親蹲姐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個結(jié)點至多有m個孩子人柿。 除根結(jié)點和葉子結(jié)點外柴墩,其它每個結(jié)點至少有m...
    文檔隨手記閱讀 13,224評論 0 25
  • 給定一個二叉樹和一個目標(biāo)和,判斷該樹中是否存在根節(jié)點到葉子節(jié)點的路徑凫岖,這條路徑上所有節(jié)點值相加等于目標(biāo)和江咳。說明: ...
    vbuer閱讀 152評論 0 0
  • 1. 任何組織或任何人際關(guān)系想要保持的好,需要做到的三件事: ● 把我們的真實想法擺在桌面上隘截; ●存在經(jīng)過深思熟慮...
    Allen_太公閱讀 381評論 0 0
  • 一個人脾氣差點可以忍受婶芭,性格孤僻最多視而不見,也不影響什么着饥,但是心性歪了就沒得救了犀农。 記得自己剛上班時,學(xué)校給每一...
    臭小媽媽閱讀 336評論 0 1
  • 對海棠有某種情結(jié) "雜花滿山宰掉,有海棠一株呵哨,只恐夜深花睡去"
    艾米札記閱讀 194評論 0 1