Удалить все два идущих подряд одинаковых символа из строки
Мой алгоритм удаляет все одинаковые символы, идущие подряд (друг за другом), а надо только два таких символа удалять. Вот мой код:
int main()
{
string s = "abcccdeee", res;
list< char > ls(s.begin(), s.end());
list< char >::iterator it;
size_t i, l = s.length();
for (i = 1; i < l; i++)
{
if (s[i-1] == s[i])
{
ls.remove(s[i-1]);
ls.remove(s[i]);
continue;
}
}
res.assign(ls.begin(), ls.end());
cout << res;
//выдаёт abd а надо abcde
//еще пример: abgffgcdeee - на выходе должен быть тотже abcde
return 0;
}
Помогите, пожалуйста, c реализацией.
Источник: Stack Overflow на русском