您的位置:首页 > 其它

290. Word Pattern

2016-02-10 01:25 423 查看
把str分成数组后每个pattern的字幕应该对应一个单词。

pattern = 
"abba"
, str = 
"dog
dog dog dog"
 should return false.

每个单词还应该对应一个字母。用map记录字母和单词用set记录是否多个字母对应一个单词。

public class Solution {

    public boolean wordPattern(String pattern, String str) {

        String[]strs=str.split(" ");

        if(pattern.length()!=strs.length)return false;

            Map<Character,String>map=new HashMap<>();

            Set<String>unique=new HashSet<>();

        for(int i=0;i<pattern.length();i++){

            char c=pattern.charAt(i);

            if(map.containsKey(c)){

                if(!map.get(c).equals(strs[i]))return false;

            }

            else{

                if(unique.contains(strs[i]))return false;

                map.put(c,strs[i]);

                unique.add(strs[i]);

            }

        }

        return true;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: