LeetCode:104.二叉树的最大深度

int maxDepth(struct TreeNode* root){
    if(root==NULL)
    {
        return 0;
    }
    else if(root->left==NULL&&root->right==NULL)
    {
        return 1;
    }
    else
    {
        int left=maxDepth(root->left);
        int right=maxDepth(root->right);      
        return left>right?left+1:right+1;
    }
}

在做这道题的时候我的一个思路是将最后的返回值写成

return (maxDepth(root->left)>maxDepth(root->right)?maxDepth(root->left):maxDepth(root->right))+1;

然而这样写会增加运算的递归次数,所以会导致超时,对于这样的问题想应该特别小心。

发布了69 篇原创文章 · 获赞 33 · 访问量 1189

猜你喜欢

转载自blog.csdn.net/dosdiosas_/article/details/105690885