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

2021-09-11 18:08:09 字數 648 閱讀 5580

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

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

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

//示例:

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

3/ \

9 20

/ \

15 7

//返回它的最小深度 2.

解答:這道題的關鍵在於,對於某乙個結點,針對不同的情況的處理。

當結點為空時,返回深度0;

當結點為葉結點時,返回深度為1;

當結點的左右結點都存在時,返回其左子樹和右子樹中較小者並加1;

當結點只有乙個子樹時,直接將深度加1.

**:

int

mindepth

(treenode* root)

}

執行結果:(為什麼自從我換了臺電腦之後,執行時間一直很慢。。)

每日刷題 最大二叉樹

給定乙個不含重複元素的整數陣列。乙個以此陣列構建的最大二叉樹定義如下 二叉樹的根是陣列中的最大元素。左子樹是通過陣列中最大值左邊部分構造出的最大二叉樹。右子樹是通過陣列中最大值右邊部分構造出的最大二叉樹。通過給定的陣列構建最大二叉樹,並且輸出這個樹的根節點。示例 輸入 3,2,1,6,0,5 輸出 ...

二叉樹最小深度

最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。遞迴,若為空樹返回0 若左右子樹都為空,則返回 1 若左子樹為空,則返回右子樹的最小深度 1 若右子樹為空,則返回左子樹的最小深度 1 若左右子樹均不為空,則取左 右子樹最小深度的較小值,1 definition for a binary tr...

二叉樹的最小深度

題目 給定乙個二叉樹,找出其最小深度。二叉樹的最小深度為根節點到最近葉子節點的距離。樣例給出一棵如下的二叉樹 1 2 3 4 5 這個二叉樹的最小深度為 2 思路 開始以為和求最大深度似的乙隻去深度最小,後來想想不對。要處理節點的左子樹是空或者右字樹是空的情況,而且每次處理的方式相同,提示我運用遞迴...