For the complete documentation index, see llms.txt. This page is also available as Markdown.

Checking if Strings are Anagrams

Strings which are composed of the same alphabets and their frequency are known as anagrams of each other.

Procedure :

  • Take the two strings as input

  • Create an hash array of size 26 and initialise it with 0.

  • For each character the first string, increment the corresponding index in the hash array.

  • For each character in the second string, decrement the corresponding index in the hash array.

  • Loop through the hash array. If any of the element is not 0, return false. Else, return true.

C Function :

int checkAnagram(char a[], char b[]) {

    // Create and initialise hash array with 0.
    int h[26] = {0};

    // Increment for first string
    for (int i = 0; a[i] != '\0'; i++) {
        h[a[i]-97]++;
    }

    // Decrement for second string
    for (int i = 0; b[i] != '\0'; i++) {
        h[b[i]-97]--;
    }
    
    // If any element is not zero, it is not an anagram.
    for (int i = 0; i < 26; i++) {
        if (h[i] != 0) {
            return 0;
        }
    }
    return 1;
       
}

Contributed by Nitin Ranganath

Last updated