class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length())
return false;
int[] record = new int[26];
char[] s_list = s.toCharArray();
char[] t_list = t.toCharArray();
for(int i=0;i<s_list.length;i++){
record[s_list[i]-'a']++;
record[t_list[i]-'a']--;
}
for(int i=0;i<26;i++){
if(record[i]!=0)
return false;
}
return true;
}
}
可以想到用哈希表,其实数组就是一个哈希表,索引为key,值为value。
巧妙之处在于可以对一个record数组进行 + - ,判断结果是否为0来表示字符串中各元素个数是否相同。