aboutsummaryrefslogtreecommitdiff
path: root/find_replace_pattern.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'find_replace_pattern.cpp')
-rw-r--r--find_replace_pattern.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/find_replace_pattern.cpp b/find_replace_pattern.cpp
deleted file mode 100644
index a00bfcb..0000000
--- a/find_replace_pattern.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- vector<string> findAndReplacePattern(vector<string> &words, string pattern) {
- ans.resize(0);
- codex.clear();
- cipher = pattern;
- for (int i = 0; i < pattern.size(); i++)
- cipher[i] = translate(cipher[i]);
- for (auto &word : words)
- compare(word);
- return ans;
- }
-
-private:
- vector<string> ans;
- unordered_map<char, char> codex;
- string cipher;
- char translate(char &c) {
- if (codex.find(c) == codex.end())
- codex[c] = (char)(97 + codex.size());
- return codex[c];
- }
- void compare(string &word) {
- codex.clear();
- for (int i = 0; i < word.size(); i++)
- if (translate(word[i]) != cipher[i])
- return;
- ans.push_back(word);
- }
-};