leetcode 687 最大同值二叉树路径

    技术2025-08-10  9

    leetcode 687 最大同值二叉树路径

    class Solution { public: int longestUnivaluePath(TreeNode* root) { if(!root) return 0; traverse(root,0); return res; } private: int res; int traverse(TreeNode* root,int cur){ if(!root) return 0; int l = traverse(root->left,cur); int r = traverse(root->right,cur); int pl = 0;//清零计数器 int pr = 0;//清零计数器 if(root->left && root->left->val == root->val) pl = l+1; if(root->right && root->right->val == root->val) pr = r+1; cur =pl+pr; res = max(res,cur); return max(pl,pr); } };

    声明并初始化变量 pl,pr的意义在于,题目求的是最大“同值”路径,不同的的需要清零。 直接对l++和r++,就会出错。

    Processed: 0.015, SQL: 10