給定乙個二叉樹,找出其最小深度。
最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。
說明: 葉子節點是指沒有子節點的節點。
給定二叉樹[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...