题目:
给定一个二叉树 root
,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
答案:
递归:若已知一棵树的左子树和右子树的深度,那么这棵树的深度为max(left, right)+ 1
那么我们也可以用深度优先遍历递归地计算左子树和右子树的深度。
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if not root:
return 0
else:
left_height = self.maxDepth(root.left)
right_height = self.maxDepth(root.right)
return max(left_height, right_height) + 1