Given the root of a binary tree, return the length of the diameter of the tree.
The diameter of a binary tree is the longest path between any two nodes in the tree. This path may or may not pass through the root.
The length of a path is measured by the number of edges between nodes.
Example 1:
Input: root = [1, 2, 3, 4, 5]
Output: 3
Explanation: The longest path is [4, 2, 1, 3] or [5, 2, 1, 3], which has length 3.
Example 2:
Input: root = [1, 2]
Output: 1
[1, 10⁴]-100 <= Node.val <= 100