一、求解二叉树的最大深度
1. 题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
2. 递归法
对于二叉树,首先考虑遍历方式
该题要求求解二叉树的最大深度,所以应该是遍历左子树的深度,然后遍历右子树的深度,选择最大深度加1
所以,是后序遍历(左右中),因为需要通过递归函数的返回值计算树的深度
递归三部曲:
(1)确定递归函数的参数和返回值
参数:传入树的根节点
返回值:返回树的深度
(2)确定终止条件
如果空间点,返回0,表示高度为0
(3)确定单层递归逻辑
先求左子树的高度,再求右子树的高度,最后取左右深度最大数值,然后再加1即可
加一是因为算上当前中间节点