题目描述:
示例:
解题思路:递归
解:
class Solution {
int max=0;
public int diameterOfBinaryTree(TreeNode root) {
maxDepth(root); //调用计算树的最大深度的方法
return max;
}
private int maxDepth(TreeNode root){
if(root==null) return 0;
//计算每个节点左右子树的高度
int leftDepth=maxDepth(root.left);
int rightDepth=maxDepth(root.right);
max=Math.max(max,leftDepth+rightDepth);
return Math.max(leftDepth,rightDepth)+1; //返回每个节点的最大深度
}
}
