687. Longest Univalue Path
发布时间:2020-12-14 04:28:46 所属栏目:大数据 来源:网络整理
导读:/* * * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x),left(NULL),right(NULL) {} * }; */ class Solution { public : int longestUnivaluePath(TreeNode* root) {
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x),left(NULL),right(NULL) {} * }; */ class Solution { public: int longestUnivaluePath(TreeNode* root) { int res = 0; helper(root,res); return res; } int helper(TreeNode* root,int &res) { if (root == NULL) return 0; int ret = 0; int left = helper(root->left,res); int right = helper(root->right,res); if (root->left && root->left->val == root->val) { res = max(res,left + 1); ret = left + 1; } if (root->right && root->right->val == root->val) { res = max(res,right + 1); ret = max(ret,right + 1); } if (root->left && root->left->val == root->val && root->right && root->right->val == root->val) res = max(res,left + right + 2); return ret; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |