您的位置:首页 > 其它

[leetcode]_Maximum Depth of Binary Tree

2014-05-14 20:41 288 查看
第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。

题目:求一棵树的最大深度。

思路:递归地求取左子树最大深度 和 右子树最大深度,返回较大值即为 整棵树的 最大深度。

代码:

public int maxDepth(TreeNode root) {
if(root == null) return 0;

int leftHeight = 1,rightHeight = 1;
if(root.left != null) leftHeight += maxDepth(root.left);
if(root.right != null) rightHeight += maxDepth(root.right);
if(leftHeight > rightHeight) return leftHeight;
else return rightHeight;
}


昨天AC看的网络代码,今日回顾了一下,提交下面代码,顺利AC。

public int maxDepth(TreeNode root) {
if(root == null) return 0;

return Math.max(maxDepth(root.left) , maxDepth(root.right)) + 1;
}


跟上面的原理一样,但这样写更清晰,感觉自己真的在进步啊。o(≧v≦)o~~好棒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: