給定一個模式和一個字符串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的資料與面試題,如果你在技術上面想提升自己的話,可以關注我,私信發送領取資料或者在評論區留下自己的聯繫方式,有時間記得幫我點下轉發讓跟多的人看到哦。