111 二叉樹的最小深度

2021-10-07 08:33:35 字數 1180 閱讀 7316

題目鏈結

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

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

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

示例:

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

3

/ \9 20

/ \

15 7

返回它的最小深度 2.這道題很像做過的二叉樹的最大深度

**如下:

public class solution 

int left=maxdepth(root.left);

int right=maxdepth(root.right);

return math.max(left,right)+1;}}

那你說這道題是最小深度將math.max改為math.min即可。

做的對只不過你忘了乙個條件:節點的左孩子和右孩子乙個為空乙個非空,如果只是單純的min那一定會得到最小值0,就錯了。

所以我們應該判斷if (left == 0 || right == 0) return left + right + 1; //左節點和右節點最大的加上根節點的1

/**

* definition for a binary tree node.

* public class treenode

* }*/

class solution

public int solve(treenode root)

//左子樹的最小深度

int left = solve(root.right);

//右子樹的最小深度

int right = solve(root.left);

//如果left和right都為0 說明除了根節點沒有任何節點了 返回1

111 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉節點的最短路徑的節點數量。解題思路 這題我想了很久。大概還是對遞迴不太熟悉吧。下面講解一下遞迴的思路 1.如果根節點是null,說明沒有深度。2.如果節點的左右兒子都不存在,說明只有自己,節點深度為1.3.如果節點沒有左兒子,但是有右兒子怎麼...

111 二叉樹的最小深度( )

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 920 157返回它的最小深度 2.注意 它是到最近的葉子節點,要多考慮根節點 class solution ...

111 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最小深度 2.思路 求樹深用dfs,遞迴遍歷左子樹右子樹,取最小的深度。defini...