InterviewHubPRO
Section Overview
Q55

Question 55 of 100

Part 7: Binary Trees, BSTs & Traversals (53 - 64)

55%
DSA Patterns (Multi-Lang)•Part 7: Binary Trees, BSTs & Traversals (53 - 64)

Diameter of Binary Tree.

In Simple Words: At each node, the longest path passing through it is leftDepth + rightDepth. Update global max diameter while bottom-up recursion returns 1 + max(left, right).

  • Time: $O(N)$ | Space: $O(H)$
Multi-Language Solutions
Switch tabs or choose All
def diameterOfBinaryTree(root: TreeNode | None) -> int:
    diameter = 0
    def dfs(node):
        nonlocal diameter
        if not node: return 0
        left = dfs(node.left)
        right = dfs(node.right)
        diameter = max(diameter, left + right)
        return 1 + max(left, right)
    dfs(root)
    return diameter