题意
题目链接
判断二个字符串里面的每个字符是否满足一一映射。
思路
直接暴力匹配
代码
class Solution {
public:
bool judge(const string &word, const string &pattern) {
map<char, char> mp1, mp2;
if (word.size() != pattern.size())
return false;
for (int i = 0; i < word.size(); i++)
{
if (mp1.count(word[i]) == 0)
mp1[word[i]] = pattern[i];
else if (mp1[word[i]] != pattern[i])
return false;
if (mp2.count(pattern[i]) == 0)
mp2[pattern[i]] = word[i];
else if (mp2[pattern[i]] != word[i])
return false;
}
return true;
}
vector<string> findAndReplacePattern(vector<string>& words, string pattern) {
vector<string> ans;
for (vector<string>::iterator it = words.begin(); it != words.end(); ++it)
if (judge(*it, pattern))
ans.push_back(*it);
return ans;
}
};