给定一种规律
pattern和一个字符串s,判断s是否遵循相同的规律。这里的 遵循 指完全匹配,例如,
pattern里的每个字母和字符串s中的每个非空单词之间存在着双向连接的对应规律。
解题思路:哈希
力扣(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<String,String> map1 = new HashMap<>();
HashMap<String,String> 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上的wordPattern问题中判断字符串s是否遵循给定的pattern规律。通过比较两个哈希表(map1和map2)来确保字符间的对应关系是双向且唯一的。

6万+

被折叠的 条评论
为什么被折叠?



