OJ练习26——T111 Minimum Depth of Binary Tree

求从根节点到叶子节点的最短路径。

【思路】

开始想到返回左右子树最短深度,测试发现对于一个根节点带一个孩子节点,其最短路径是2,不是最小深度1,此种特殊情况单独列出。

【my code】

int minDepth(TreeNode *root) {
        if(root==NULL)
            return 0;
        int depthl=minDepth(root->left);
        int depthr=minDepth(root->right);
        if(depthl!=0&&depthr!=0)
            return min(depthl, depthr)+1;
        else
            return max(depthl, depthr)+1;
    }

【结果】

15ms,性能比较靠前。

【其他】

看了网上的,有很多遍历找到叶子节点,累计深度的,看起来比较复杂。

posted on 2015-04-24 08:50  EmmaLi  阅读(89)  评论(0编辑  收藏  举报

导航