less than 1 minute read

1 min read 367 words

Problem Statement

leetcode problem link

Solution [Accepted]

public class Solution {
    public bool IsAnagram(string s, string t) {
        int[] arr = Enumerable.Range(1, 26).ToArray();
        Array.Fill(arr, 0);
        foreach(var c in s) {
            int index = c - 'a';
            arr[index] += 1;
        }
        foreach(var c in t) {
            int index = c - 'a';
            arr[index] -= 1;
        }
        for (int i = 0; i < arr.Length; i++) {
            if (arr[i] != 0) return false;
        }

        return true;
    }
}

Solution

public class Solution {
    public bool IsAnagram(string s, string t) {
        if (s.Length != t.Length) {
            return false;
        }

        int[] count = new int[26];
        for (int i = 0; i < s.Length; i++) {
            count[s[i] - 'a']++;
            count[t[i] - 'a']--;
        }

        foreach (int val in count) {
            if (val != 0) {
                return false;
            }
        }
        return true;
    }
}

Leave a comment