二叉樹的最小深度

2021-07-30 14:34:39 字數 709 閱讀 2976

問題描述:

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

二叉樹的最小深度為根節點到最近葉子節點的距離。

解題思路:處理特殊的子樹,空樹返回0,只有根節點返回1,邪數遍歷一邊的節點個數就好了,左右子樹都有將二叉樹的最大深度改一下就好了

實現**:class solution {

public:

/*** @param root: the root of binary tree.

* @return: an integer

*/int mindepth(treenode *root) {

// write your code here

if(root==null) return 0;

if(root->left==null&&root->right==null) return 1;

if(root->left==null&&root->right!=null) return mindepth(root->right)+1;

if(root->left!=null&&root->right==null) return mindepth(root->left)+1;

int l = mindepth(root->left);

int r = mindepth(root->right);

if(l感悟:二叉樹的最小深度最重要的是判斷幾種特殊的樹,剩下的就和二叉樹的最大深度差不多了

二叉樹最小深度

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

二叉樹的最小深度

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

二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。二叉樹的最小深度為根節點到最近葉子節點的距離。樣例 給出一棵如下的二叉樹 1 2 3 4 5 這個二叉樹的最小深度為 2 class solution if root right null root left null p mindepth root left 1 q...