1. 程式人生 > >21、二叉樹的最大深度

21、二叉樹的最大深度

在這裡插入圖片描述

這幾天都是二叉樹的題目,這個程式碼超時,很無語,繼續弄

class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null)
        	return 0;
        else {
        	if(maxDepth(root.left) > maxDepth(root.right))
					return 1 + maxDepth(root.left);
			else {
					return 1 + maxDepth(root.right);
			}
		}
    }
}

從網上找的,為什麼我覺得思路都是遞迴,差距咋就這麼大

if (root == null) return 0;

        int leftDepth = maxDepth(root.left);
        int rigthDepth = maxDepth(root.right);

        return leftDepth > rigthDepth ? (leftDepth+1) : (rigthDepth+1);

--------------------- 
作者:Tal.Yuan 
來源:CSDN 
原文:https://blog.csdn.net/ydonghao2/article/details/80306335 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

貼上排名靠前的程式碼(上面的程式碼是100%),思路都差不多的

class Solution {
    public int maxDepth(TreeNode root) {
        if(root==null){
            return 0;
        }
        if(root.left==null&&root.right==null){
            return 1;
        }
        int left=maxDepth(root.left);
        int right=maxDepth(root.right);
        return right>left?right+1:left+1;
    }
   
}