void removeAllX(node*& pH, int x) { if (pH == nullptr) return; while (pH != nullptr && pH->data == x) { node* cur = pH; pH = pH->next; delete cur; } node* cur = pH; while (cur != nullptr && cur->next != nullptr) { if (cur->next->data == x) { node* temp = cur->next; cur->next = cur->next->next; delete temp; } else { cur = cur->next; } } }