※ 引述《a106a106 (猜猜我4谁)》之铭言:
我想到一个做法
但是不晓得有没有漏洞
思路跟找palindrome的方式类似
从任何两个连续的character i, i+1 开始往两边出发
合法的情况会有
yxxy,xxxx:左右各前进一步
yxxx:左边暂停,右边前进一步
xxxy:左边前进一步,右边暂停
如果以上都不符合,尝试下一个i
测试了几个case有过,有什么地方错的吗
bool eliminate(string s) {
int len = (int) s.length();
if (len <= 1) return len == 0;
for (int i = 0; i < len - 1; i++) {
if (s[i] != s[i + 1]) continue;
int j = i, k = i + 1;
while (j >= 1 && k < len - 1) {
if (s[j - 1] == s[k + 1]) {
j