一、题目描述
二、解法
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;
}
}