Given the root of a binary tree, return the length of the diameter. The diameter is the length of the longest path between any two nodes.
This path may or may not pass through the root. Example: For tree , the diameter is 3 (path or ).
The length of a path is the number of edges, not nodes. Constraints: up to nodes, values from to .