leetcode 290 Word Pattern

class Solution {
public:
    bool wordPattern(string pattern, string str) {
        istringstream is(str);
        unordered_map<char,string> m;
        unordered_map<string,char> mm;
        for(int i=0;i<pattern.size();++i) {
            string s;is>>s;
            if(s.empty()) return false;
            if(m.find(pattern[i])!=m.end()) {
                if(m[pattern[i]]!=s) return false;
            }
            else m[pattern[i]]=s;
            if(mm.find(s)!=mm.end()) {
                if(mm[s]!=pattern[i]) return false;
            }
            else mm[s]=pattern[i];
        }
        if(is.eof()) return true;
        return false;
    }
};

 

posted @ 2020-03-27 09:51  qiujiejie  阅读(98)  评论(0编辑  收藏  举报