二叉树最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:3

示例 2: 输入:root = [1,null,2] 输出:2

提示: 树中节点的数量在 [0, 10⁴] 区间内。 -100 <= Node.val <= 100

解题思路

  • 使用深度优先搜索(DFS)遍历二叉树。
  • 在每个结点,计算其左右子树的最大深度,并返回两者中较大的值加上 1
func maxDepth(root *TreeNode) int {

 	if root == nil {
 		return 0
 	}
 	leftDepth := maxDepth(root.Left)
 	rightDepth := maxDepth(root.Right)
 	return max(rightDepth, leftDepth) + 1
 }
 
 func max(a, b int) int {
 	if a > b {
 		return a
 	}
 	return b
}