题目:
我的解法:HashMap
class Solution {
public boolean wordPattern(String pattern, String s) {
Map<Character, String> map = new HashMap<Character, String>();
String[] array = s.split(" ");
if(pattern.length()!=array.length){
return false;
}
for(int i=0; i<pattern.length(); i++){
char c = pattern.charAt(i);
// 如果map中存在该字符,咋判断value是否相同
if(map.containsKey(c)){
if(!array[i].equals(map.get(c))){
return false;
}
// 如果map中不存在该字符,咋判断该字符串是否与表中其他字符对应的value重复
}else{
if(map.containsValue(array[i])){
return false;
}
map.put(c, array[i]);
}
}
return true;
}
}
官方题解: