21、二叉樹的最大深度
阿新 • • 發佈:2018-11-16
這幾天都是二叉樹的題目,這個程式碼超時,很無語,繼續弄
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; } }