LeetCode 111 二叉樹的最小深度

2021-09-25 07:06:17 字數 864 閱讀 4536

111. 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。

最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。

說明:葉子節點是指沒有子節點的節點。

示例:

給定二叉樹[3,9,20,null,null,15,7],

3

/ \9 20

/ \

15 7

返回它的最小深度  2.

解題思路:這題一看和求最大深度的哪一題差不多,但是寫完**提交,卻發現沒有通過所有的測試用例,如下的測試用例

根結點為1,左子樹為空,右子樹為2.這麼一棵二叉樹。我們的**返回的是1,其實應該返回的結果是2.因為注意看題目對最小深度的定義是從根節點到最近葉子節點的最短路徑上的節點數量。

所以,此時我們十分要注意的是,遞迴的終止條件是否對。針對此題,遞迴條件不能再是root==null了。應該判斷該節點不能是根結點。

解題**

1.遞迴解

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

};

2.使用佇列

bfs,廣度優先搜尋 每次把一層節點壓入佇列,同時判斷這些節點中是否含有葉子節點(即左右指標都為空),若有,說明找到了最近的那個葉子節點,返回層數。

class solution 

}};

leetcode 111 二叉樹的最小深度

題目描述 給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最小深度 2.思路 採用後序遍歷,當前結點的深度最小深度等於左右子樹較小深...

LeetCode111 二叉樹的最小深度

解析 求二叉樹的最小深度,即求從根節點到任一子節點,深度的最小值。本題類似求二叉樹的最大深度,都是用遞迴求解。二叉樹的最大深度 分別求出根節點左孩子和右孩子的深度,然後將兩者中較大值加1返回即可。同樣的,求解二叉樹的最小深度,我們要比較兩者中的較小值加1返回。但還有一點要注意,就是如果一棵二叉樹只有...

LeetCode 111 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最小深度 2.如果節點是空,那麼返回0 如果節點左右子樹都為空,那麼返回1 如果節...