思路和同構字符串那道題一樣。、但是這道題要注意的地方就是,檢查?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;}
}