# include <stdio.h> # define NO_OF_CHARS 256 /* function to check whether two strings are anagram of each other */ bool areAnagram( char *str1, char *str2) { // Create 2 count arrays and initialize all values as 0 int count1[NO_OF_CHARS] = {0}; int count2[NO_OF_CHARS] = {0}; int i; // For each character in input strings, increment count in // the corresponding count array for (i = 0; str1[i] && str2[i]; i++) { count1[str1[i]]++; count2[str2[i]]++; } // If both strings are of different length. Removing this // condition will make the program fail for strings like // "aaca" and "aca" if (str1[i] || str2[i]) return false ; // Compare count arrays for (i = 0; i < NO_OF_CHARS; i++) if (count1[i] != count2[i]) return false ; return true ; } /* Driver program to test to print printDups*/ int main() { char str1[] = "geeksforgeeks" ; char str2[] = "forgeeksgeeks" ; if ( areAnagram(str1, str2) ) printf ( "The two strings are anagram of each other" ); else printf ( "The two strings are not anagram of each other" ); return 0; } |
Friday 1 July 2016
CHECK WHETHER THE STRING IS ANAGRAM OR NOT
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment