#include <iostream>
#include <list>
#include <iterator>
using std::list;
using std::cout;
void removeDuplicates(list<char> &myList);
int main() {
// your code goes here
list <char> l;
l.push_back('a');
l.push_back('b');
l.push_back('a');
l.push_back('a');
l.push_back('a');
removeDuplicates(l);
return 0;
}
void removeDuplicates(list<char> &myList)
{
list<char>::iterator itr;
for (itr = myList.begin(); itr != myList.end();)
{
if (tolower(*itr) == tolower(*std::prev(itr)))
{
itr = myList.erase(itr);
}
else
{
++itr;
}
}
for (itr : myList)
cout << itr <<" ";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPGl0ZXJhdG9yPgp1c2luZyBzdGQ6Omxpc3Q7CnVzaW5nIHN0ZDo6Y291dDsKCgp2b2lkIHJlbW92ZUR1cGxpY2F0ZXMobGlzdDxjaGFyPiAmbXlMaXN0KTsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJbGlzdCA8Y2hhcj4gbDsKCWwucHVzaF9iYWNrKCdhJyk7CglsLnB1c2hfYmFjaygnYicpOwoJbC5wdXNoX2JhY2soJ2EnKTsKCWwucHVzaF9iYWNrKCdhJyk7CglsLnB1c2hfYmFjaygnYScpOwoJCglyZW1vdmVEdXBsaWNhdGVzKGwpOwoJCglyZXR1cm4gMDsKfQoKdm9pZCByZW1vdmVEdXBsaWNhdGVzKGxpc3Q8Y2hhcj4gJm15TGlzdCkKewogICAgbGlzdDxjaGFyPjo6aXRlcmF0b3IgaXRyOwogICAgCiAgICBmb3IgKGl0ciA9IG15TGlzdC5iZWdpbigpOyBpdHIgIT0gbXlMaXN0LmVuZCgpOykKICAgIHsKICAgICAgICAKICAgICAgICBpZiAodG9sb3dlcigqaXRyKSA9PSB0b2xvd2VyKCpzdGQ6OnByZXYoaXRyKSkpCiAgICAgICAgewogICAgICAgICAgICBpdHIgPSBteUxpc3QuZXJhc2UoaXRyKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgKytpdHI7CiAgICAgICAgfQogICAgfQogICAgCiAgICBmb3IgKGl0ciA6IG15TGlzdCkKICAgICAgY291dCA8PCBpdHIgPDwiICI7CiAgICAKfQ==