您的位置:首页 > 编程语言 > Go语言

Algorithms—104.Maximum Depth of Binary Tree

2015-07-16 12:28 621 查看
思路:分左右两路递归查询,查到某个节点下left和right都为null时返回,比较左右的值,取大的

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public int maxDepth(TreeNode root) {
if (root==null) {
return 0;
}
if(root.left==null&&root.right==null){
return 1;
}
int left=-1;
if(root.left!=null){
left=maxDepth(root.left)+1;
}
int right=-1;
if(root.right!=null){
right=maxDepth(root.right)+1;
}
if(left==-1){
return right;
}
if(right==-1){
return left;
}

return Math.max(left, right);
}
}

耗时:316ms,测了2次,一次中游,一次勉强上游

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: