一、题目描述
二、思路
如果两个字符串的长度不相同,不满足互为异位词的条件,直接返回false;定义两个int类型的数组,然后用两个foreach循环遍历两个字符串,数组分别记录两个字符串中每个字符出现的次数, 最后遍历数组,如果两个数组中有任何一个字符的出现次数不同,条件不成立,返回false
三、代码实现
class Solution {
public boolean isAnagram(String s, String t) {
//两字符串长度不等不满足条件,直接返回false
if(s.length() != t.length()){
return false;
}
//记录s中每个字符的出现次数
int[] aNum = new int[26];
//记录t中每个字符的出现次数
int[] bNum = new int[26];
for (char c:s.toCharArray()) {
aNum[c - 'a']++;
}
for (char c:t.toCharArray()) {
bNum[c - 'a']++;
}
for (int i = 0; i < aNum.length; i++) {
if (aNum[i] != bNum[i]){
return false;
}
}
return true;
}
}