LeetCode290. 单词规律

一、题目描述

二、解法

class Solution {
    public boolean wordPattern(String pattern, String s) {
        /**
         *  使用Map
         *  失败有两种情况: 1.key存在,经过查找字母对应的单词和这个单词不匹配;
         *                 2.key不存在,但是这个单词已经被存了;
         */
        String[] strings = s.split(" ");
        if (pattern.length() != strings.length) return false;
        Map<Character, String> map = new HashMap<>();
        for (int i = 0; i < pattern.length(); i++) {
            char c = pattern.charAt(i);
            if (!map.containsKey(c)) {
                if (map.containsValue(strings[i])) {
                    return false;
                }
                map.put(c, strings[i]);
            }else if (!map.get(c).equals(strings[i])) {
                return false;
            }
        }
        return true;
    }
}

 

posted @ 2020-12-10 21:34  不学无墅_NKer  阅读(59)  评论(0编辑  收藏  举报