二叉樹的最小深度

2021-10-06 03:11:57 字數 1567 閱讀 7163

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

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

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

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

3

/ \9 20

/ \

15 7

返回它的最小深度 2.

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

else

}else

while

(!nodequeue.

empty()

)else

if(node->right)

} nodequeue.

pop();

} res++;}

return res;}}

;

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution if(

!root->left &&

!root->right)

auto min_depth = int_max;

if(root->left)

if(root->right)

return min_depth +1;

}};

# definition for a binary tree node.

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

:def

mindepth

(self, root: treenode)

->

int:

ifnot root:

return

0

children =

[root.left, root.right]

ifnot

any(children)

:return

1 min_depth =

float

('inf'

)for c in children:

if(c)

: min_depth =

min(self.mindepth(c)

, min_depth)

return min_depth +

1

二叉樹最小深度

最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。遞迴,若為空樹返回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...