struct node {
char info;
node* next;
node(char a = 0, node* b = 0) {
info = a;
next = b;
}
};
void g(node* L, int k, char y) {
node* current = L;
if (current->info == y) k--;
while (current->next) {
if (current->next->info == y) {
if (k > 0) k--;
else {
node* very_next = current->next->next;
delete current->next;
current->next = very_next;
}
}
current = current->next;
}
}
int main() {
node* n = new node('a',new node('b', new node('a', new node('c', new node('a', 0)))));
g(n, 1, 'a');
}