求二叉树的最大深度有两种方法:
1,深度优先
2.广度优先
深度优先代码
通过递归分别计算最大分支
if not root:
return 0
else:
return 1+max(self.maxDepth(root.left),self.maxDepth(root.right))
广度优先(层次打印)这个参考别人写的 刚开始学语言直接就leetcode上手了
if not root :
return 0
q=[]
q.append(root)
depth=0
while len(q) != 0:
depth+=1
for i in range(len(q)):
if q[0].left:
q.append(q[0].left)
if q[0].right:
q.append(q[0].right)
del q[0]
return depth