单词规律(简单)
思路和同构字符串那道题一样。、但是这道题要注意的地方就是,检查 pattern
和 s
的单词数量是否一致以及在进行字符串比较的时候应该用equals来进行比较,而不能用“!=”,“!=”比较的是对象引用而非内容。
class Solution {public boolean wordPattern(String pattern, String s) {Map<Character,String> p2s=new HashMap<Character,String>();Map<String,Character> s2p=new HashMap<String,Character>();String[] swords = s.split(" ");if (pattern.length() != swords.length) {return false;}int len=pattern.length();for(int i=0;i<len;i++){char x=pattern.charAt(i);String y=swords[i];if((p2s.containsKey(x)&&!p2s.get(x).equals(y))||(s2p.containsKey(y)&&s2p.get(y)!=x)){return false;}p2s.put(x,y);s2p.put(y,x);}return true;}
}