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(); } }