543. 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
function diameterOfBinaryTree(root: TreeNode | null): number { if (root === null) return 0 let ans = 1 function traverse(node: TreeNode | null) { if (node === null) return 0 const l = traverse(node.left) const r = traverse(node.right) const path = l + r + 1 ans = Math.max(path, ans) return Math.max(l, r) + 1 } traverse(root) return ans - 1 };
|