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;
    }
};
原文地址:https://www.cnblogs.com/LiuQiujie/p/12579423.html