Удалить все два идущих подряд одинаковых символа из строки

Рейтинг: 1Ответов: 3Опубликовано: 24.01.2015

Мой алгоритм удаляет все одинаковые символы, идущие подряд (друг за другом), а надо только два таких символа удалять. Вот мой код:

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 реализацией.

Ответы

Ответов пока нет.