1 class Solution 2 { 3 public: 4 vector<string> findAndReplacePattern(vector<string>& words, string pattern) 5 { 6 vector<string> result; 7 map<int,int> store; 8 map<int,int> store2; 9 10 for(int i = 0; i < words.size(); i ++) 11 { 12 int pattern_index = 0; 13 int flag = 0; 14 store.clear(); 15 store2.clear(); 16 for(auto c:words[i]) 17 { 18 if(store.find(c)==store.end()) 19 { 20 if(store2.find(pattern[pattern_index])==store2.end()) 21 { 22 store.insert(make_pair(c,pattern[pattern_index])); 23 store2.insert(make_pair(pattern[pattern_index],c)); 24 } 25 else 26 { 27 flag = 1; 28 break; 29 } 30 } 31 else 32 { 33 if(store.find(c)->second!=pattern[pattern_index]) 34 { 35 flag = 1; 36 break; 37 } 38 } 39 pattern_index ++; 40 } 41 if(flag==0) 42 { 43 result.emplace_back(words[i]); 44 } 45 } 46 return result; 47 } 48 };
原文地址:https://www.cnblogs.com/Asurudo/p/9500606.html
时间: 2024-11-06 13:27:30