104. 二叉树的最大深度 简单
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
代码参考:
package main
import "fmt"
func main() {
tree := &Tree{}
tree.root = &TreeNode{Val: 3}
for _, v := range []int{9, 20, -1, -1, 15, 7} {
tree.BFSInsert(v)
}
fmt.Println(maxDepth(tree.root)) // 3
}
func maxDepth(root *TreeNode) int {
if root == nil {
return 0
}
lDepth := maxDepth(root.Left)
rDepth := maxDepth(root.Right)
if lDepth > rDepth {
return lDepth + 1
}
return rDepth + 1
}
最后编辑: kuteng 文档更新时间: 2021-06-05 10:16 作者:kuteng