题目描述
题目链接543. 二叉树的直径
题解
每遇到一个节点,都求一下左子树的最大深度left,和右子树的最大深度right。此时经过当前节点的最大直径,就是left + right,与res比较更新即可。
class Solution {
int res = 0;
public int diameterOfBinaryTree(TreeNode root) {
getDepth(root);
return res;
}
public int getDepth(TreeNode root){
if (root == null) return 0;
int left = getDepth(root.left);
int right = getDepth(root.right);
res = Math.max(res, left + right);
return Math.max(left, right) + 1;
}
}