LeetCode-111-二叉樹的最小深度

題目描述:給定一個二叉樹,找出其最小深度。
最小深度是從根節(jié)點(diǎn)到最近葉子節(jié)點(diǎn)的最短路徑上的節(jié)點(diǎn)數(shù)量。
說明:葉子節(jié)點(diǎn)是指沒有子節(jié)點(diǎn)的節(jié)點(diǎn)。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:遞歸
否則,調(diào)用遞歸方法
minDepth(TreeNode root, int curDepth)
,root為當(dāng)前節(jié)點(diǎn),curDepth為當(dāng)前深度,遞歸過程如下:
如果root為null,直接返回;
否則,curDepth加1;
然后判斷如果root的左子樹或者右子樹有一邊為null,則調(diào)用遞歸方法,參數(shù)為不為null的子樹和curDepth,然后返回;
如果root的左子樹和右子樹都不為null,則左右子樹都要調(diào)用遞歸方法。
過程中需要判斷當(dāng)前深度和result哪個小,result取更小的一個,最后返回result即為數(shù)的最小深度。
【每日寄語】 有一天早晨我扔掉了所有的昨天,從此我的腳步就輕盈了。
標(biāo)簽: