438 Find All Anagrams in a String 找出字符串中所有的变位词

时间:2023-03-09 01:00:28
438 Find All Anagrams in a String 找出字符串中所有的变位词

详见:https://leetcode.com/problems/find-all-anagrams-in-a-string/description/

C++:

class Solution {
public:
vector<int> findAnagrams(string s, string p) {
if(s.empty())
{
return {};
}
int ss=s.size(),ps=p.size(),i=0;
vector<int> res,cnt(128,0);
for(char c:p)
{
++cnt[c];
}
for(int i=0;i<ss;++i)
{
bool success=true;
vector<int> tmp=cnt;
for(int j=i;j<i+ps;++j)
{
if(--tmp[s[j]]<0)
{
success=false;
break;
}
}
if(success)
{
res.push_back(i);
}
}
return res;
}
};

参考:https://www.cnblogs.com/grandyang/p/6014408.html