天机阁

104. 二叉树的最大深度

2022-07-06 · 1 min read
LeetCode

题目

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

难度:🌟

示例:
给定二叉树 [3,9,20,null,null,15,7],

返回它的最大深度 3 。

题解

类似树的后序遍历,等左子树和右子树节点树都计算出来后,返回最大值

代码实现

func maxDepth(root *TreeNode) int {
	if root == nil {
		return 0
	}
	left := maxDepth(root.Left) + 1
	right := maxDepth(root.Right) + 1
	// 类似树的后序遍历,等左子树和右子树节点树都计算出来后,返回最大值
	return max(left, right)
}

func max(x, y int) int {
	if x > y {
		return x
	}
	return y
}