242. 有效的字母异位词
因为题目说的是小写字母,因为全部小写字母为26为,定义一个长度为26位的数组,用来记录每个字母出现的次数。首先判断两个字符串是否长度相同,长度不同的话肯定是false。之后遍历两个字符串,读取s字符串的时候每个字符的记录加一,读取t字符串的时候每个记录减一,当遍历完成后,若出现次数相同则数组的所有值应该都为0.
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length())
return false;
char[] char_s = s.toCharArray();
char[] char_t = t.toCharArray();
int[] count = new int[26];
for (int i = 0; i < char_s.length; i++) {
count[char_s[i] - 'a']++;
count[char_t[i] - 'a']--;
}
for (int i = 0; i < count.length; i++) {
if (count[i]!=0)
return false;
}
return true;
}
}