力扣连接:有效的字母异位词
解题思路:
设置一个数组,数组大小为26(因为字母表中的字母数为26,因此只需26个位置就能记录所有字母出现的次数),遍历第一个字符串时,当出现了对应的字母,就在数组的value值+‘1’,直到遍历完第一个字符串,遍历第二个字符串,当出现了对应的字母,就在数组的value值-‘1’。最后遍历一下当前数组,若有不为0的数组,说明两字符串中每个字符出现的次数不相同,否则则相同。
代码如下
class Solution {
public boolean isAnagram(String s, String t) {
int []a= new int[26];
for(char c : s.toCharArray()){
a[c-'a'] +=1;
}
for(char c:t.toCharArray()){
a[c-'a'] -= 1;
}
for(int i :a){
if(i!=0) return false;
}
return true;
}
}