Leetcode290. 单词规律

给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。

这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。

Leetcode290. 单词规律_第1张图片

解题思路:哈希

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 

代码如下:

class Solution {
    public boolean wordPattern(String pattern, String s) {
        String[] arr2 = s.split(" ");
        if(arr2.length != pattern.length()){
            return false;
        }
        String[] arr1 = pattern.split("");
        HashMap map1 = new HashMap<>();
        HashMap map2 = new HashMap<>();
        for(int i = 0; i < arr1.length;i++){
            String key1 = arr1[i], value1 = arr2[i];
            if((map1.containsKey(key1) && !map1.get(key1).equals(value1)) || (map2.containsKey(value1) && !map2.get(value1).equals(key1))){
                return false;
            }
            map1.put(key1,value1);
            map2.put(value1,key1);
        }
        return true;

    }
}

你可能感兴趣的:(leetcode,哈希)