题目:力扣
思路:
题目描述只包含小写字母,我们可以定义一个数组来记录字母出现的次数。因为小写字母a-z的ASCII值就是26个连续的数组,所以a我们可以从数组下标0开始,一直连续到z是数组下标25,在遍历字符串s的时候,我们对字母的个数++,在遍历字符串t的时候,我们对字母个数--,这样我们只需要看最后哪个字母的个数不为0,说明有不同的字母,如果每个字母都是0,说明所有字母都一样。
代码:
class Solution {
public boolean isAnagram(String s, String t) {
int[] record = new int[26];
for (int i = 0; i < s.length(); i++) {
record[s.charAt(i) - 'a']++;
}
for (int i = 0; i < t.length(); i++) {
record[t.charAt(i) - 'a']--;
}
for (int code : record) {
if (code != 0) {
return false;
}
}
return true;
}
}