給定乙個二叉樹,找出其最小深度。
最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。
說明: 葉子節點是指沒有子節點的節點。
//示例:
//給定二叉樹 [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 思路 開始以為和求最大深度似的乙隻去深度最小,後來想想不對。要處理節點的左子樹是空或者右字樹是空的情況,而且每次處理的方式相同,提示我運用遞迴...