二叉树的最小深度【C++】【后序遍历】

二叉树的最小深度

http://www.nowcoder.com/questionTerminal/e08819cfdeb34985a8de9c4e6562e724

后序遍历树,这样在回到每个节点时,其节点左右子树的最小深度都已经计算完毕,当前节点的最小深度就等于左右子树中较小深度加一。
递归边界:如果节点是空节点,最小深度返回INT_MAX,如果节点是叶节点,最小深度为1。
时间复杂度O(N),空间复杂度O(N)。

int minDepth(TreeNode* root) {
        if(root == nullptr) {
            return INT_MAX;
        }
        if(root->left == nullptr && root->right == nullptr) {
            return 1;
        }
        int leftDepth = minDepth(root->left);
        int rightDepth = minDepth(root->right);
        int depth = min(leftDepth, rightDepth);    //不会得到depth == INT_MAX的情况
        return depth+1;
    }
    int run(TreeNode* root) {
        if(root == nullptr) {
            return 0;
        }
        return minDepth(root);
    }
全部评论

相关推荐

11-02 08:15
已编辑
门头沟学院 Java
美团 Java后端开发 10w刀 美硕
YamadaAnna:包留美的,你拿的美团 招银,没一个不加班的。考虑一下未来吧,应届生的工资真不重要,10w刀税后6w,省省还是能活下去的。回国了35岁怎么办,难道35岁还能返美么,就算35岁还能在国内找到工作,难道打算一辈子9点10点下班么。你有能力在美利坚找到工作,回国如果不是哪个965大厂给你发个ssp,真不值得。 等抽不中h1b,没办法了再回国吧。
点赞 评论 收藏
分享
躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
10-17 16:04
已编辑
南京大学 C++
陈启鸣:恭喜
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务