给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7]
返回它的最大深度 3 。
链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree
解题思路:
任取树中的一个节点,向节点左右两侧遍历
变量的节点为 null 则可以结束递归,否则返回左右节点计数中较大的值+1,因为节点为空直接return ,+1的意思大概就是每遍历一次,就计算一次
当遍历完成,则可以得出计算了多少次。
解题思路:
这里可以采取递归的思路,根节点有左右子树,每个节点也有其左右树,那么递归查找,查到空为止,最后的+1,比较点睛
1.根节点也需要统计到
2.每进入一次递归,等于进入了一层
解题答案:
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
*@param{TreeNode}root*
@return{number}
*/
var maxDepth = function(root){
if(root==null){
return 0;
}
var left = maxDepth(root.left);
var right = maxDepth(root.right);
return Math.max(left,right)+1;
};