[LeetCode By Go 86]257. Binary Tree Paths

題目

Given a binary tree, return all root-to-leaf paths.

For example, given the following binary tree:

   1
 /   \
2     3
 \
  5

All root-to-leaf paths are:

["1->2->5", "1->3"]

解題思路

使用遞歸解題街望,遞歸的過程中記錄當前的路徑暇屋,找到葉子節(jié)點后將路徑放入結果數組中响巢,在遞歸過程中:

  1. 如果左右子節(jié)點都為空指針屉来,則說明當前節(jié)點為二叉樹的葉子腥椒,獲得一條路徑姻几,將這條路徑加入結果數組中
  2. 否則分別判斷左右子節(jié)點是否為空荤崇,如果不為空阅茶,則進行遞歸繼續(xù)尋找其路徑

代碼

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
var ret []string

func getPath(t *TreeNode, s string)  {
    val := t.Val
    s = s + "->" + strconv.Itoa(val)
    
    if nil == t.Left && nil == t.Right {
        ret = append(ret, s)
    }
    if nil != t.Left {
        getPath(t.Left, s)
    }
    if nil != t.Right {
        getPath(t.Right, s)
    }
}

func binaryTreePaths(root *TreeNode) []string {
    ret = []string{}
    if nil == root {
        return ret
    }

    rootval := root.Val
    
    if nil == root.Left && nil == root.Right {
        ret = append(ret, strconv.Itoa(rootval))
        return ret 
    } 
    if nil != root.Left {
        getPath(root.Left, strconv.Itoa(rootval))
    } 
    if nil != root.Right {
        getPath(root.Right, strconv.Itoa(rootval))
    }
    

    return ret
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坏晦,隨后出現的幾起案子萝玷,更是在濱河造成了極大的恐慌嫁乘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件球碉,死亡現場離奇詭異蜓斧,居然都是意外死亡,警方通過查閱死者的電腦和手機睁冬,發(fā)現死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門挎春,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人豆拨,你說我怎么就攤上這事直奋。” “怎么了施禾?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵脚线,是天一觀的道長。 經常有香客問我弥搞,道長邮绿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任攀例,我火速辦了婚禮船逮,結果婚禮上,老公的妹妹穿的比我還像新娘粤铭。我一直安慰自己挖胃,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布梆惯。 她就那樣靜靜地躺著冠骄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪加袋。 梳的紋絲不亂的頭發(fā)上凛辣,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音职烧,去河邊找鬼扁誓。 笑死,一個胖子當著我的面吹牛蚀之,可吹牛的內容都是我干的蝗敢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼足删,長吁一口氣:“原來是場噩夢啊……” “哼寿谴!你這毒婦竟也來了?” 一聲冷哼從身側響起失受,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤讶泰,失蹤者是張志新(化名)和其女友劉穎咏瑟,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體痪署,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡码泞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了狼犯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片余寥。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悯森,靈堂內的尸體忽然破棺而出宋舷,到底是詐尸還是另有隱情,我是刑警寧澤瓢姻,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布祝蝠,位于F島的核電站,受9級特大地震影響汹来,放射性物質發(fā)生泄漏。R本人自食惡果不足惜改艇,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一收班、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谒兄,春花似錦摔桦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至燕鸽,卻和暖如春兄世,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啊研。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工御滩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人党远。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓削解,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沟娱。 傳聞我的和親對象是個殘疾皇子氛驮,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容