#include <stdlib.h>
#include<iostream>
using namespace std;
#define NO_OF_CHARS 256
bool* getCharCountArray(char *str)
{
bool *count = (bool *)calloc(sizeof(bool), NO_OF_CHARS);
for (int i = 0; str[i]; i++)
count[ str[i] ] = 1;
return count;
}
char *removeDirtyChars(char *str, char *mask_str)
{
bool* count = getCharCountArray(mask_str);
int ip_ind = 0, res_ind = 0;
while ( str[ip_ind] )
{
char temp = str [ip_ind];
if (count[temp] == 0)
str [res_ind++] = str [ip_ind];
ip_ind++;
}
str[res_ind] = '\0';
return str;
}
int main()
{
char str[] = "geeksforgeeks";
char mask_str[] = "mask";
cout<< removeDirtyChars(str, mask_str) <<endl;
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZTxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBOT19PRl9DSEFSUyAyNTYgCgpib29sKiBnZXRDaGFyQ291bnRBcnJheShjaGFyICpzdHIpIAp7IAogICBib29sICpjb3VudCA9IChib29sICopY2FsbG9jKHNpemVvZihib29sKSwgTk9fT0ZfQ0hBUlMpOyAKICAgZm9yIChpbnQgaSA9IDA7IHN0cltpXTsgIGkrKykgCiAgICAgIGNvdW50WyBzdHJbaV0gXSA9IDE7IAogICByZXR1cm4gY291bnQ7IAp9IAoKY2hhciAqcmVtb3ZlRGlydHlDaGFycyhjaGFyICpzdHIsIGNoYXIgKm1hc2tfc3RyKSAKeyAKICBib29sKiBjb3VudCAgPSBnZXRDaGFyQ291bnRBcnJheShtYXNrX3N0cik7IAogIAogIGludCBpcF9pbmQgPSAwLCByZXNfaW5kID0gMDsgCiAgd2hpbGUgKCBzdHJbaXBfaW5kXSApIAogIHsgCiAgICBjaGFyIHRlbXAgPSBzdHIgW2lwX2luZF07IAogICAgaWYgKGNvdW50W3RlbXBdID09ICAwKSAKICAgICAgICAgICAgc3RyIFtyZXNfaW5kKytdID0gc3RyIFtpcF9pbmRdOyAKICAgICAgaXBfaW5kKys7IAogIH0gICAgIAoKIHN0cltyZXNfaW5kXSA9ICdcMCc7ICAgICAKIHJldHVybiBzdHI7IAp9IAogIAppbnQgbWFpbigpIAp7IAogICAgY2hhciBzdHJbXSAgICAgICAgID0gImdlZWtzZm9yZ2Vla3MiOyAKICAgIGNoYXIgbWFza19zdHJbXSAgPSAibWFzayI7IAogICAgY291dDw8IHJlbW92ZURpcnR5Q2hhcnMoc3RyLCBtYXNrX3N0cikgPDxlbmRsOyAKICAgIHJldHVybiAwOyAKfSA=