Word Pattern

Examples:
pattern = "abba", str = "dog cat cat dog" should return true.
pattern = "abba", str = "dog cat cat fish" should return false.

  • Time: O(n)
  • Space: O(1)
public boolean wordPattern(String pattern, String str) {
    String[] strs = str.split(" ");
    if (strs.length != pattern.length()) {
        return false;
    }
    Map<Character, String> map = new HashMap<>();
    for (int i = 0; i < pattern.length(); i++) {
        if (map.containsKey(pattern.charAt(i))) {
            if (!map.get(pattern.charAt(i)).equals(strs[i])) {
                return false;
            }
        } else {
            if (map.values().contains(strs[i])) {
                return false;
            }
            map.put(pattern.charAt(i), strs[i]);
        }
    }
    return true;
}

results matching ""

    No results matching ""