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

原文地址:https://www.cnblogs.com/xidian2014/p/8892887.html