Home | Projects | Notes > Coding Interview Questions > Find Anagrams
291234
5bool is_anagram(const char *s1, const char *s2)6{7 if (strlen(s1) != strlen(s2))8 {9 return false;10 }11
12 int count[256] = {0}; // ASCII13
14 while (*s1)15 {16 count[(unsigned char)*s1++]++;17 count[(unsigned char)*s2++]--;18 }19
20 for (int i = 0; i < 256; i++)21 {22 if (count[i] != 0)23 {24 return false;25 }26 }27
28 return true;29}
211int main(int argc, char *argv[])2{3 char s1[64] = {0};4 char s2[64] = {0};5
6 printf("Enter string 1: ");7 fgets(s1, sizeof(s1), stdin);8 printf("Enter string 2: ");9 fgets(s2, sizeof(s2), stdin);10
11 if (is_anagram(s1, s2))12 {13 printf("Anagram\n");14 }15 else16 {17 printf("Not Anagram\n");18 }19
20 return 0;21}