集合
import java.util.HashMap;
class Solution {
public boolean wordPattern(String pattern, String s) {
/**
* 使用map集合存储字符-字符串对应关系,只要有一个不满足就返回false
*/
String[] strs = s.split(" ");
if (strs.length != pattern.length()){
return false;
}
HashMap<Character, String> map = new HashMap<>();
for (int i = 0; i < pattern.length(); i++) {
if (!map.containsKey(pattern.charAt(i))){
/**
* 不同键的值也不能相等
*/
if (map.values().contains(strs[i])){
return false;
}
map.put(pattern.charAt(i), strs[i]);
}
else {
if (!map.get(pattern.charAt(i)).equals(strs[i])){
return false;
}
}
}
return true;
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(n)
*/
https://leetcode-cn.com/problems/word-pattern/