go語言算法題解二叉樹的最小深度
題目:
給定一個(gè)二叉樹,找出其最小深度。
最小深度是從根節(jié)點(diǎn)到最近葉子節(jié)點(diǎn)的最短路徑上的節(jié)點(diǎn)數(shù)量。
說明:
葉子節(jié)點(diǎn)是指沒有子節(jié)點(diǎn)的節(jié)點(diǎn)。
解法:
func minDepth(root *TreeNode) int {
if root == nil {
return 0
}
minDepth := math.MaxInt64
var dfs func(node *TreeNode, depth int)
dfs = func(node *TreeNode, depth int) {
if node == nil {
return
}
depth ++
if node.Left == nil && node.Right == nil {
if depth < minDepth {
minDepth = depth
}
}
dfs(node.Left, depth)
dfs(node.Right, depth)
}
dfs(root, 0)
return minDepth
}以上就是go語言算法題解二叉樹的最小深度的詳細(xì)內(nèi)容,更多關(guān)于go 二叉樹最小深度的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
深入了解Golang?interface{}的底層原理實(shí)現(xiàn)
在?Go?語言沒有泛型之前,接口可以作為一種替代實(shí)現(xiàn),也就是萬物皆為的?interface。那到底?interface?是怎么設(shè)計(jì)的底層結(jié)構(gòu)呢?下面咱們透過底層分別看一下這兩種類型的接口原理。感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助2022-10-10
Go語言實(shí)現(xiàn)多協(xié)程文件下載器的過程詳解
GoFrame框架gset使用對(duì)比PHP?Java?Redis優(yōu)勢(shì)
幾個(gè)小技巧幫你實(shí)現(xiàn)Golang永久阻塞

