# Checking if Strings are Anagrams

### 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 :

```c
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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nitinranganath.gitbook.io/data-structures/strings/checking-if-strings-are-anagrams.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
