# 二叉树的直径

  1. 二叉树的直径

来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/diameter-of-binary-tree/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

github (opens new window)

# 问题

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。

          1
         / \
        2   3
       / \     
      4   5    

返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]

# 思路

var diameterOfBinaryTree = function (root) {
  let height = 0;

  function helper(node) {
    if (node === null) return 0;

    let left = helper(node.left),
      right = helper(node.right);

    height = Math.max(left + right, height);
    return Math.max(left, right) + 1;
  }

  helper(root);

  return height;
};

陕ICP备20004732号-3