[路飞]_二叉树的最大深度

189 阅读1分钟

leetcode-104 二叉树的最大深度

题目介绍

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

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

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

示例

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

    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

解题思路

如果知道了左右子树的高度 depth(root.left)depth(root.right),那么当前层的高度就是较大值加 1,即 Math.max(depth(root.left), depth(root.right)) + 1,对于每一层节点都可以重复这样的操作,因此,可以使用递归来计算最大深度

解题代码

var maxDepth = function(root) {
    if (!root) return 0
    return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1
};