二叉树的最大深度 JavaScript

题目详情:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/description/

这道题于我而言更多是熟悉JavaScript的二叉树操作。
此题要求对二叉树的属性有基本了解。在求解最大高度的时候,有一个问题就是:是左子树更深还是右子树,通过不断地递归得到子树高度,然后左右子树比较返回更大的那一个。

/** * 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;
    } else {
        var leftDepth = maxDepth(root.left),
            rightDepth = maxDepth(root.right);

        var childDepth = leftDepth > rightDepth ? leftDepth : rightDepth;

        return childDepth + 1;//根节点不为空高度至少为1
    }
};
点赞