C++ | Leetcode C++题解之第290题单词规律
题目:
题解:
class Solution {
public:bool wordPattern(string pattern, string str) {unordered_map<string, char> str2ch;unordered_map<char, string> ch2str;int m = str.length();int i = 0;for (auto ch : pattern) {if (i >= m) {return false;}int j = i;while (j < m && str[j] != ' ') j++;const string &tmp = str.substr(i, j - i);if (str2ch.count(tmp) && str2ch[tmp] != ch) {return false;}if (ch2str.count(ch) && ch2str[ch] != tmp) {return false;}str2ch[tmp] = ch;ch2str[ch] = tmp;i = j + 1;}return i >= m;}
};