242. Valid Anagram

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {
return false;
}

int[] countMap = new int[26];
for (int i = 0; i < s.length(); i++) {
countMap[s.charAt(i) - 'a']++;
}
for (int i = 0; i < t.length(); i++) {
// 在两字符串长度相等的情况下,只需判断小于 0 即可,无需再判断是否存在多余字符
if (--countMap[t.charAt(i) - 'a'] < 0) {
return false;
}
}
return true;
}
}

References

242. Valid Anagram
剑指 Offer II 032. 有效的变位词