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;
}
}