/** * @Description 这道题主要的核心是构建“双射”关系 * @Date 2022/1/12 12:50 上午 * @Author wuqichuan@zuoyebang.com **/class Solution { public boolean wordPattern(String pattern, String s) { int pLength = pattern.length(); String[] sArr = s.split(" "); if(pLength != sArr.length){ return false; } Map<String,Character> zhengMap = new HashMap<>(); Map<Character,String> fanMap = new HashMap<>(); for(int i = 0; i < pLength; i++){ if(zhengMap.containsKey(sArr[i]) && !zhengMap.get(sArr[i]).equals(pattern.charAt(i))){ return false; } if(fanMap.containsKey(pattern.charAt(i)) && !fanMap.get(pattern.charAt(i)).equals(sArr[i])){ return false; } zhengMap.put(sArr[i],pattern.charAt(i)); fanMap.put(pattern.charAt(i),sArr[i]); } return true; }}