← All examples

Anagram check

C# Algorithms

character counting

Flowchart (ISO 5807)

YesNoYesNoStartInput a, ba.Length != b.LengthReturn falseEndcount = new int[256]i = 0, a.Length - 1, 1count[a[i]]++count[b[i]]--c = 0, 255, 1count[c] != 0Return falseEndReturn trueEndFigure 1 — Program.IsAnagram

Source code

class Program {
    static bool IsAnagram(string a, string b) {
        if (a.Length != b.Length) {
            return false;
        }
        int[] count = new int[256];
        for (int i = 0; i < a.Length; i++) {
            count[a[i]]++;
            count[b[i]]--;
        }
        for (int c = 0; c < 256; c++) {
            if (count[c] != 0) {
                return false;
            }
        }
        return true;
    }
}