Closed Shawngbk closed 7 years ago
与205类似,但要注意!=与!equals的区别 char 和 string 一一对应. 建一个map. 同时set里面保存string, 避免重复, 出现多对1的情况.
public class Solution { public boolean wordPattern(String pattern, String str) { String[] res = str.split(" "); if(pattern.length() != res.length ) return false; Map<Character, String> map = new HashMap<>(); Set set = new HashSet<>(); for(int i = 0; i < pattern.length(); i++) { char c1 = pattern.charAt(i); //String c2 = res[i]; if(map.containsKey(c1)) { if(!map.get(c1).equals(res[i])) return false; } else { if(set.contains(res[i])) { return false; } else { map.put(c1, res[i]); set.add(res[i]); } } } return true; } }
与205类似,但要注意!=与!equals的区别 char 和 string 一一对应. 建一个map. 同时set里面保存string, 避免重复, 出现多对1的情况.
public class Solution { public boolean wordPattern(String pattern, String str) { String[] res = str.split(" "); if(pattern.length() != res.length ) return false; Map<Character, String> map = new HashMap<>(); Set set = new HashSet<>();
for(int i = 0; i < pattern.length(); i++) {
char c1 = pattern.charAt(i);
//String c2 = res[i];
if(map.containsKey(c1)) {
if(!map.get(c1).equals(res[i]))
return false;
} else {
if(set.contains(res[i])) {
return false;
} else {
map.put(c1, res[i]);
set.add(res[i]);
}
}
}
return true;
}
}