[LeetCode] Path Sum

題目

原題地址

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.

思路

遞歸查找,每個節(jié)點判斷一下是否葉子節(jié)點波闹,如果是則判斷value之和是否與sum相同搂鲫;如果不是葉子節(jié)點庆械,就遞歸查找它的左右子節(jié)點恭垦。

python代碼

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def hasPathSum(self, root, sum):
        """
        :type root: TreeNode
        :type sum: int
        :rtype: bool
        """
        if root == None:
            return False
        if root.left == None and root.right == None:
            # leaf node
            return root.val == sum
        return self.hasPathSum(root.left, sum-root.val) or self.hasPathSum(root.right, sum-root.val)

Path Sum

進階版Path Sum浑娜,不僅判斷是否存在這樣的路徑戳葵,而是要求給出所有滿足要求的路徑红且。
原題地址

思路

總體思想與上一題類似,但是需要增加一個參數(shù)list來保存路徑片部,所以需要重新寫一個遞歸函數(shù)镣衡。注意往list里append值之后要對應(yīng)的pop,否則后續(xù)對list的操作也會反映到最終結(jié)果上档悠,因為最終返回的是一個List[List[int]]廊鸥,其中的每個list是淺拷貝。

python代碼

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def search(self, root, sum, ls):
        if root == None:
            return
        if root.left == None and root.right == None:
            # leaf node
            if sum == root.val:
                ls.append(root.val)
                self.result.append(ls[:])
                ls.pop()
        else:
            # not leaf node
            ls.append(root.val)
            self.search(root.left, sum-root.val, ls)
            self.search(root.right, sum-root.val, ls)
            ls.pop()

    def pathSum(self, root, sum):
        """
        :type root: TreeNode
        :type sum: int
        :rtype: List[List[int]]
        """
        self.result = []
        self.search(root, sum, [])
        return self.result
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辖所,一起剝皮案震驚了整個濱河市惰说,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缘回,老刑警劉巖吆视,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酥宴,居然都是意外死亡揩环,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門幅虑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人顾犹,你說我怎么就攤上這事倒庵“” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵擎宝,是天一觀的道長郁妈。 經(jīng)常有香客問我,道長绍申,這世上最難降的妖魔是什么噩咪? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮极阅,結(jié)果婚禮上胃碾,老公的妹妹穿的比我還像新娘。我一直安慰自己筋搏,他們只是感情好仆百,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奔脐,像睡著了一般俄周。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上髓迎,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天峦朗,我揣著相機與錄音,去河邊找鬼排龄。 笑死波势,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涣雕。 我是一名探鬼主播艰亮,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挣郭!你這毒婦竟也來了迄埃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兑障,失蹤者是張志新(化名)和其女友劉穎侄非,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體流译,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡逞怨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了福澡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叠赦。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖革砸,靈堂內(nèi)的尸體忽然破棺而出除秀,到底是詐尸還是另有隱情糯累,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布册踩,位于F島的核電站泳姐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏暂吉。R本人自食惡果不足惜胖秒,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望慕的。 院中可真熱鬧阎肝,春花似錦、人聲如沸业稼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽低散。三九已至俯邓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熔号,已是汗流浹背稽鞭。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留引镊,地道東北人朦蕴。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像弟头,于是被迫代替她去往敵國和親吩抓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗赴恨。 張土汪:刷leetcod...
    土汪閱讀 12,744評論 0 33
  • 目錄 簡書的 markdown 都不支持 [TOC] 語法……我就不貼目錄了疹娶。下面按照類別,列出了29道關(guān)于二叉樹...
    被稱為L的男人閱讀 3,306評論 0 8
  • Description Given a binary tree and a sum, determine if t...
    Juliiii閱讀 216評論 0 0
  • 從昨天到現(xiàn)在伦连,一件事在持續(xù)發(fā)酵雨饺,我不說你也知道。作為一個總愛寫點什么的人惑淳,還是忍不住想寫兩句额港。 我們都...
    大魔王小七閱讀 205評論 0 0
  • 近六點半了移斩,正忙著晚飯,想著爺倆怎那么晚還不回來,電話感應(yīng)似的響起來叹哭,是女兒的號碼:“媽媽忍宋,我現(xiàn)在還在艾衣格衣柜(...
    育心麗謙林莉英閱讀 306評論 0 5