import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param c string字符串
* @return int整型
*/
public int isCongruent (String s, String c) {
// 长度不同直接返回-1
if (s.length() != c.length()) {
return -1;
}
Map<Character, Integer> countMap = new HashMap<>();
// 统计第一个字符串的字符频次
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
countMap.put(ch, countMap.getOrDefault(ch, 0) + 1);
}
// 验证第二个字符串的字符频次
for (int i = 0; i < c.length(); i++) {
char ch = c.charAt(i);
// 若字符不存在或频次已为0,说明不匹配
if (!countMap.containsKey(ch) || countMap.get(ch) == 0) {
return -1;
}
countMap.put(ch, countMap.get(ch) - 1);
}
// 检查所有字符频次是否都为0
for (int count : countMap.values()) {
if (count != 0) {
return -1;
}
}
// 是字母异位词,返回长度
return s.length();
}
}