力扣每日一題 二叉樹的最小深度

2021-10-23 14:57:53 字數 938 閱讀 4135

原題鏈結

題目描述:

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

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

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

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

3   

/ \

9 20

/ \

15 7

返回它的最小深度 2.

解題思路:

dfs即可,只不過注意一下測試用例【1,2】這種情況,官方題解給出的答案結果為1,但是實際上深度為2,注意一下葉子結點的定義。

**:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

//遞迴結束條件

if(root-

>left ==

null

&& root-

>right ==

null

)int m1 =

mindepth

(root-

>left)

;int m2 =

mindepth

(root-

>right)

;//下面的兩個if語句是為了左右節點任意乙個節點為空的情況下

if(m1 ==0)

if(m2 ==0)

//如果均不為空

return

min(m1,m2)+1

;}};

(力扣每日一題)不同的二叉搜尋樹 II

二叉搜尋樹有以下幾個特點 1 左邊的小於當前 2 右邊的大於當前 3 沒有重複的值。為了符合二叉搜尋樹的這幾個特點,我們需要知道當前的範圍。要知道開頭和結尾 最開始是1和n 1 首先定義乙個字典儲存已遍歷的引數和結果以免重複。2 特殊情況判斷 如果n 0,返回,如果不判斷則會返回 none 執行遞迴...

每日刷題 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最小深度 2.解答 這道題的關鍵在於,對於某乙個結點,針對不同的情況的處理。當結點...

每日一題 重建二叉樹

題目 輸入某二叉樹的先序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的先序遍歷和中序遍歷的結果中都不含重複的數字。例如 前序遍歷序列 1,2,4,7,3,5,6,8 和中序遍歷序列 4,7,2,1,5,3,8,6 重建出下圖所示的二叉樹並輸出它的頭結點。param preorder 先序遍歷 p...