解题思路:先将字符串使用string流的形式分成一个个字符串,之后,将pattern和str 分别存到一个map容器中,并比较出现的次数是否相等.
class Solution {
public:
bool wordPattern(string pattern, string str) {
stringstream ss(str);
string word;
map<string,int> res;
map<char,int> pat;
int i = 0;
while(ss>>word){
if(res[word] != pat[pattern[i]])
return false;
res[word] = pat[pattern[i]] = i+1;
i++;
}
return i == pattern.length();
}
};