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

PHOTO EMBED

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