1. 题目
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190322210314682.png)
2. 方法一
2.1. 代码
class Solution
{
public:
int longestUnivaluePath(TreeNode* root)
{
if(root==NULL) return 0;
longestUnivaluePathwithroot(root);
return path;
}
int longestUnivaluePathwithroot(TreeNode* root)
{
if(root==NULL) return 0;
int left=longestUnivaluePathwithroot(root->left);
int right=longestUnivaluePathwithroot(root->right);
left=root->left!=NULL&&root->left->val==root->val?left+1:0;
right=root->right!=NULL&&root->right->val==root->val?right+1:0;
path=max(path,left+right);
return max(left,right);
}
private: int path;
};
2.2. 结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190322210730548.png)