面试题 01.02. 判定是否互为字符重排

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

int[] diffMap = new int[26];
for (int i = 0; i < s1.length(); i++) {
diffMap[s1.charAt(i) - 'a']++;
diffMap[s2.charAt(i) - 'a']--;
}

for (int diff : diffMap) {
if (diff != 0) {
return false;
}
}

return true;
}
}

References

面试题 01.02. 判定是否互为字符重排