这道题没什么好说的
class Solution {
public:
int expressiveWords(string S, vector<string>& words) {
vector<pair<char,int>>s;
int ans = 0;
for(int i = 0; i<S.size();i++)
{
int num = 1;
while(i<S.size() && S[i] == S[i+1])
{
num++;
i++;
}
s.push_back(make_pair(S[i],num));
}
for(string word : words)
{
vector<pair<char,int>>t;
for(int i = 0; i<word.size();i++)
{
int num = 1;
while(i<word.size() && word[i] == word[i+1])
{
num++;
i++;
}
t.push_back(make_pair(word[i],num));
}
if(t.size()!=s.size()) continue;
int flag = 0;
for(int i = 0;i<s.size();i++)
{
if(s[i].first!=t[i].first || s[i].second < t[i].second ||(s[i].second != t[i].second && s[i].second <3 ) )
{
flag = 1;
break;
}
}
if(!flag) ans++;
}
return ans;
}
};