#include <string.h>
#include <ctype.h>
void search(char a[],int aLen,char b[],int bLen)
{
int maxLen = aLen>bLen?aLen:bLen;
char* s = (char*)malloc(sizeof(char)*maxLen);
int index = 0;
for (int i = 0;i < aLen;++i)
{
for (int j = 0;j < bLen;++j)
{
if (toupper(a[i]) == toupper(b[j]))
{
s[index++] = a[i];
}
}
}
int alphe[26] = {0};//位图查找过滤相同的
for (int i = --index;i >= 0;--i)
{
alphe[s[i]-'a'] = 1;
}
for (int i = 0;i <= 26;++i)
{
if (alphe[i])
{
printf("%c",i+97);
}
}
free(s);
s = NULL;
}
int main(int argc, const char * argv[])
{
char a[20];
char b[20];
strcpy(a, "pretty");
strcpy(b, "women");
search(a,6,b,5);
printf("\n");
strcpy(a, "walking");
strcpy(b, "down");
search(a,(int)strlen(a),b,(int)strlen(b));
printf("\n");
strcpy(a, "the");
strcpy(b, "street");
search(a,(int)strlen(a),b,(int)strlen(b));
return 0;
}