0290. Word Pattern

0290. Word Pattern #

题目 #

  • 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。
  • 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。

思路 #

哈希 #

代码 #

哈希 #

class Solution {
    public boolean wordPattern(String pattern, String s) {
        String[] words = s.split(" ");
        if (pattern.length() != words.length) return false;
        Map<Character, String> map = new HashMap<>();
        for (int i = 0; i < pattern.length(); i++) {
            char pat = pattern.charAt(i);
            String word = words[i];
            if (map.contains(pat) && map.get(pat).equals(word) == false) return false;
            else if (map.contains(pat) == false && map.containsValue(word)) return false;
            map.put(pat, word);
        }
        return true;
    }
}

致谢 #

沉默王二