maximum_depth_binary_tree
2022-12-14
浏览 (755)
maximum_depth_binary_tree.go 源码
package main
/二叉树的最大深度
/递归
func maxDepth(root *TreeNode) int {
if root == nil {
return 0
}
return max(maxDepth(root.Left), maxDepth(root.Right)) + 1
}
func max(x int, y int) int {
if x > y {
return x
}
return y
}
/按层遍历求最大深度
func maxDepth2(root *TreeNode) int {
if root == nil {
return 0
}
queue := []*TreeNode{root}
level := 0
for len(queue) > 0 {
n := len(queue)
for i := 0; i < n; i++ {
node := queue[0]
queue = queue[1:]
if node.Left != nil {
queue = append(queue, node.Left)
}
if node.Right != nil {
queue = append(queue, node.Right)
}
}
level++
}
return level
}
你可能感兴趣的文章
bst_lowest_commona_ancestor
combinations
generate_parentheses
- 所属分类: 后端技术
- 本文标签:
技术
- 版权声明: 本文链接 https://seaxiang.com/blog/52a19e7a945e4f78bc389f7500394635