题目截图
方法一:深度优先搜索(递归)
将二叉树不断分解,直到左子树和右子树的最大深度即可知道二叉树的最大深度。
每个字数又可以不断分解成新的字数,直到没有结点,每一次分解,加一层。
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if not root :
return 0
return max(self.maxDepth(root.left),self.maxDepth(root.right))+1
复杂度分析
时间复杂度:其中
为二叉树节点的个数。每个节点在递归中只被遍历一次。
空间复杂度: