LeetCode-129-求根節(jié)點(diǎn)到葉節(jié)點(diǎn)數(shù)字之和

題目描述:給你一個(gè)二叉樹的根節(jié)點(diǎn) root ,樹中每個(gè)節(jié)點(diǎn)都存放有一個(gè) 0 到 9 之間的數(shù)字。 每條從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑都代表一個(gè)數(shù)字:
例如,從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑 1 -> 2 -> 3 表示數(shù)字 123 。 計(jì)算從根節(jié)點(diǎn)到葉節(jié)點(diǎn)生成的 所有數(shù)字之和 。
葉節(jié)點(diǎn) 是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。
來(lái)源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:遞歸法
使用遞歸法解決此問(wèn)題,遞歸過(guò)程如下:
首先,如果當(dāng)前節(jié)點(diǎn)為null,說(shuō)明是空樹,直接返回;
如果當(dāng)前節(jié)點(diǎn)不是nll,將當(dāng)前節(jié)點(diǎn)的值添加到 path 中;
然后判斷當(dāng)前節(jié)點(diǎn)沒(méi)有左右子節(jié)點(diǎn),說(shuō)明是葉子節(jié)點(diǎn),將當(dāng)前的路徑值加到result中,然后返回;
如果當(dāng)前節(jié)點(diǎn)的左節(jié)點(diǎn)不為空時(shí),遞歸處理左節(jié)點(diǎn);
如果當(dāng)前節(jié)點(diǎn)的右節(jié)點(diǎn)不為空時(shí),遞歸處理右節(jié)點(diǎn)。
最后,返回result即為結(jié)果值。
【每日寄語(yǔ)】 人生就像一場(chǎng)賭局,不可能把把都贏,只要籌碼在自己手上,就永遠(yuǎn)都會(huì)有希望。