题目描述:

image.png

示例:

image.png

解题思路:递归

解:

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; //返回每个节点的最大深度
}
}