给定一个模式和一个字符串str,找出str是否遵循相同的模式。在此跟随是指完全匹配,因此模式中的字母与str中的非空单词之间存在双射。
Java解决方案
public boolean wordPattern(String pattern, String str) {
String[] arr = str.split(" ");
//prevent out of boundary problem
if(arr.length != pattern.length())
return false;
HashMap<Character, String> map = new HashMap<Character, String>();
for(int i=0; i<pattern.length(); i++){
char c = pattern.charAt(i);
if(map.containsKey(c)){
String value = map.get(c);
if(!value.equals(arr[i])){
return false;
}
}else if (map.containsValue(arr[i])){
return false;
}
map.put(c, arr[i]);
}
return true;}
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。