Given two strings s and t, write a function to determine if t 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?
https://leetcode.com/problems/valid-anagram/description/
import java.util.HashSet;
import java.util.Set;
/**
* Created by Joe on 2018/3/4
* 242. Valid Anagram
* https://leetcode.com/problems/valid-anagram/description/
*/
public class P242 {
public boolean isAnagram(String s, String t) {
int[] alphabet = new int[26];
for (int i = 0; i < s.length(); i++) alphabet[s.charAt(i) - 'a']++;
for (int i = 0; i < t.length(); i++) alphabet[t.charAt(i) - 'a']--;
for (int i : alphabet) if (i != 0) return false;
return true;
}
}
注意:
这个题目的输入字符串s和t可能不等长。