687. Longest Univalue Path
```java
class Solution {
int result = 0;
public int longestUnivaluePath(TreeNode root) {
if (root == null) {
return 0;
}
dfs(root, root.val);
return result;
}
private int dfs(TreeNode node, int prev) {
if (node == null) {
return 0;
}
int left = dfs(node.left, node.val);
int right = dfs(node.right, node.val);
result = Math.max(result, left + right);
if (node.val == prev) {
return Math.max(left, right) + 1;
}
return 0; // node.val != prev
}
}
```Last updated
