给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。
var diameterOfBinaryTree = function(root) {
var maxDiameter = 0
function maxDepth(node){
if (!node){
return 0
}
var leftDepth = maxDepth(node.left)
var rightDepth = maxDepth(node.right)
maxDiameter = Math.max(maxDiameter,leftDepth+rightDepth)
return Math.max(leftDepth,rightDepth)+1
}
maxDepth(root)
return maxDiameter
};