Shawngbk / Leecode

Questions of Leecode
0 stars 0 forks source link

290. Word Pattern #62

Open Shawngbk opened 7 years ago

Shawngbk commented 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; } }

Shawngbk commented 7 years ago

dropbox uber