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;
}