题目
26年5月13日(二刷自解Go bfs)
func maxDepth(root *TreeNode) int {
if root==nil {
return 0
}
size:=1
q:=[]*TreeNode{root}
for len(q)>0{
p:=[]*TreeNode{}
for j:=0 ;j<len(q) ;j++ {
node:=q[j]
if node.Left!=nil{
p=append(p,node.Left)
}
if node.Right!=nil{
p=append(p,node.Right)
}
}
if len(p)>0{
size++
}
q=p
}
return size
}
26年3月25日(看解自解C语言 递归)
这道题因为二叉树的深度,其实可以看成每一层的高度1相加,于是想到可以用递归的思路,
核心逻辑树的深度可以看做左子树和右子树中较大深度加1,而子树又有一样的逻辑
于是递归计算左子树的右子树的深度