Longest Univalue Path is an example of tree problems. In this post we will see how we can solve in Javascript.

Problem Description

Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may not pass through the root.

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

Example 1

Input:

          5
         / \
        4   5
       / \   \
      1   1   5

Output: 2

Example 2

Input:

          1
         / \
        4   5
       / \   \
      4   4   5

Output: 2

Note: The given binary tree has not more than 10000 nodes. The height of the tree is not more than 1000.

Solution: Please check the main.js snippet for the solution.If you have different approach in mind or have any suggestion for this implementation feel free to share in the comment below. Thanks!