Leetcode Tencent 50 Task10 104. Maximum Depth of Binary Tree
描述
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
1 | 3 |
返回它的最大深度 3 。
来源:力扣(LeetCode)
链接:104. Maximum Depth of Binary Tree
解题思路
本题考察二叉树,一看到树,首先要想到递归。
我们知道一棵二叉树的高度(Height)是其根节点的高度,而根节点的高度是其左子树高度和右子树两者中的最大值加1.因此可采用二叉树遍历的原理,递归地计算出二叉树的高度。而要活的根节点的高度,首先要获得其左右子树的高度,所以需要采用后序遍历,即先遍历每个根节点的左子树,然后遍历每个根节点的右子树,最后遍历根节点自己。
最后需要注意的是,根据定义,单个叶节点的高度为1,所以空树的高度为0,最后需要判断是否为空树,如果是空树则返回0。
代码
1 | /** |