Java经典算法:单词模式

给定一个模式和一个字符串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的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章