Write a program to find if two strings are anagrams. Anagrams: Same set of letters with different arrangements. Number of times a letter present in one string must be equal to the number of times the letter is present on another string
Fri May 03 2024 15:20:46 GMT+0000 (Coordinated Universal Time)
Saved by
@vedanti
#include <stdio.h>
#include <string.h>
int are_anagrams(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 != len2) {
return 0;
}
int map[256] = {0};
for (int i = 0; i < len1; i++) {
map[str1[i]]++;
map[str2[i]]--;
}
for (int i = 0; i < 256; i++) {
if (map[i] != 0) {
return 0;
}
}
return 1;
}
int main() {
char string1[] = "listen";
char string2[] = "silent";
printf("String1: %s\n", string1);
printf("String2: %s\n", string2);
printf("Are they anagrams? %s\n", are_anagrams(string1, string2) ? "Yes" : "No");
return 0;
}
content_copyCOPY
Comments