LeetCode-257-二叉樹的所有路徑

題目描述:給定一個二叉樹,返回所有從根節(jié)點到葉子節(jié)點的路徑。
說明: 葉子節(jié)點是指沒有子節(jié)點的節(jié)點。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/binary-tree-paths/ ??
著作權歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權,非商業(yè)轉(zhuǎn)載請注明出處。
解法一:遞歸法
首先,如果root為null, 直接返回空List。
主方法的處理過程是調(diào)用遞歸方法,初始路徑path為root的節(jié)點值,然后根據(jù)是否有左右子樹判斷遞歸方法的參數(shù)和調(diào)用幾次方法。
如果root為空,將當前path添加到result中。
如果root的左右子樹都為空,將path加上當前節(jié)點的值,然后添加到result中返回
如果root的左子樹為空,則遞歸調(diào)用該方法,參數(shù)為root的右節(jié)點,path為path加上當前節(jié)點的值;
如果root的右子樹為空,則遞歸調(diào)用該方法,參數(shù)為root的左節(jié)點,path為path加上當前節(jié)點的值;
如果root的左右子樹都不為空,則調(diào)用2次遞歸方法,參數(shù)分別為root的左右節(jié)點,path為path加上當前節(jié)點的值。
【每日寄語】 日頭沒有辜負我們,我們也切莫辜負日頭。
標簽: