Advertisement

TypeScript算法第104题 Binary tree最大深度

阅读量:

TypeScript算法-104. 二叉树的最大深度

  • 递归方法

递归法

设函数f(node, depth)用于计算以深度为depthnode节点作为根节点时,整棵树所能达到的最大高度。因此,问题的解即为计算f(root, 0)的值。考虑到根节点可能不存在的情况,即root可能为一个空指针,此时默认深度设置为0

复制代码
    function maxDepth(root: TreeNode | null): number {
    
    function getMax (a: number, b: number) {
        return  a >= b ? a : b;
    }
    
    function getMaxDepth(root: TreeNode | null, height: number): number {
        if (root === null) return height;
        return getMax(getMaxDepth(root.left, height + 1), getMaxDepth(root.right, height + 1));
    }
    
    return getMaxDepth(root, 0);
    }

全部评论 (0)

还没有任何评论哟~