* --Originally published at Enro Blog*

# Problem

Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the **longest** path between any two nodes in a tree. This path may or may not pass through the root.

**Example:**

Given a binary tree

1 / \ 2 3 / \ 4 5

Return **3**, which is the length of the path [4,2,1,3] or [5,2,1,3].

**Note:** The length of path between two nodes is represented by the number of edges between them.

**height of the left subtree + the height of right subtree + 1**

**ldiameter**will be the height of the left subtree. and repeat for

**rdiameter.**

height of the left subtree + the height of right subtree + 1,max (ldiameter, rdiameter) )

max(height of the left subtree + the height of right subtree + 1,max (ldiameter, rdiameter) ))