原题请移步力扣。
我写的代码如下:
class Solution {
public boolean wordPattern(String pattern, String s) {
HashMap<Character,String> map = new HashMap<Character,String>();
char[] charpat = pattern.toCharArray();
String[] words = s.split(" ");
map.put(charpat[0], words[0]);
for(int i=1;i<charpat.length;i++) {
if(map.containsKey(charpat[i])) {
if(map.get(charpat[i])!=words[i]){
return false;
}
}
else if(map.containsValue(words[i])) {
return false;
}
else {
map.put(charpat[i], words[i]);
}
}
return true;
}
}
执行结果:
输入
"abba"
"dog cat cat dog"
输出
false
预期结果
true