242. Valid Anagram

Given two stringss_and_t, write a function to determine ift_is an anagram of_s.

For example,
s= "anagram",t= "nagaram", return true.
s= "rat",t= "car", return false.

Note:
You may assume the string contains only lowercase alphabets.

Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

class Solution {
    public boolean isAnagram(String s, String t) {
        if (s == null && t == null) return true;
        if (s == null || t == null) return false;
        if (s.length() != t.length()) return false;

        int[] hash = new int[26];

        for (int i = 0; i < s.length(); i++){
            int val = s.charAt(i) - 'a';
            hash[val]++;
        }

        for (int i = 0; i < t.length(); i++){
            int val = t.charAt(i) - 'a';
            hash[val]--;
        }

        for (int i = 0; i < 26; i++){
            if (hash[i] != 0) return false;
        }

        return true;
    }
}

results for ""

    No results matching ""