题目描述
题目解析
这里使用的方法基于二叉树的先序遍历,遍历左子树和右子树的同时要进行一次左右比较,得到最大的一边并1,这样可以得到最大子树的层次数。
方法二
通过二叉树的层次遍历实现该功能,层次遍历的同时可以得到最大的层次数,也就是最大深度。
代码
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root==None:
return 0
else:
return max(self.maxDepth(root.left),self.maxDepth(root.right))+1