1. /**
    2. * @Description 这道题主要的核心是构建“双射”关系
    3. * @Date 2022/1/12 12:50 上午
    4. * @Author wuqichuan@zuoyebang.com
    5. **/
    6. class Solution {
    7. public boolean wordPattern(String pattern, String s) {
    8. int pLength = pattern.length();
    9. String[] sArr = s.split(" ");
    10. if(pLength != sArr.length){
    11. return false;
    12. }
    13. Map<String,Character> zhengMap = new HashMap<>();
    14. Map<Character,String> fanMap = new HashMap<>();
    15. for(int i = 0; i < pLength; i++){
    16. if(zhengMap.containsKey(sArr[i]) && !zhengMap.get(sArr[i]).equals(pattern.charAt(i))){
    17. return false;
    18. }
    19. if(fanMap.containsKey(pattern.charAt(i)) && !fanMap.get(pattern.charAt(i)).equals(sArr[i])){
    20. return false;
    21. }
    22. zhengMap.put(sArr[i],pattern.charAt(i));
    23. fanMap.put(pattern.charAt(i),sArr[i]);
    24. }
    25. return true;
    26. }
    27. }