有效的字母异位词

给定两个字符串 st ,编写一个函数来判断 t 是否是 s

字母异位词

示例 1:

1
2
输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

1
2
输入: s = "rat", t = "car"
输出: false

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • st 仅包含小写字母

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length()!=t.length()) return false;
int[] table = new int[26];
for(int i=0;i<s.length();i++){
table[s.charAt(i)-'a']++;
}
for(int i=0;i<t.length();i++){
if(--table[t.charAt(i)-'a']<0){ //如果两个单词长度一样,一个字母出现次数多,一定会有另一个字母出现次数少,所以只要不满足条件相减一定会有
return false;
}
}
return true;
}
}