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; } };