lc1750
class Solution {
public:
int minimumLength(string s)
{
int n = s.size();
int p = 0, b = n - 1;
while (p < b) {
if (s[p] == s[b])
{
// 移动前缀到第一个不同的位置
while (p < b && s[p] == s[p+1])
p++;
// 移动后缀到第一个不同的位置
while (p < b && s[b] == s[b-1])
b--;
// 删掉当前的前后缀(各走一步)
p++;
b--;
} else
break;
}
return max(0, b - p + 1);
}
};