思路
分别递归遍历根节点的左子树和右子树的最大深度,两者的最大值再加1就是二叉树的最大深度
代码
// 树的最大深度
func maxDepth() -> Int {
return maxDepth(node: root)
}
func maxDepth(node: TreeNode?) -> Int {
if node == nil {
return 0
}
var max = 0
var maxL = 0
var maxR = 0
if node?.left != nil {
maxL = maxDepth(node: node?.left)
}
if node?.right != nil {
maxR = maxDepth(node: node?.right)
}
if maxL > maxR {
max = maxL + 1
} else {
max = maxR + 1
}
return max
}
网友评论