438. Find All Anagrams in a String

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

用两个hash表来存储个数

class Solution {
public:
    vector<int> findAnagrams(string s, string p) {
        vector<int> result;
        if(s.empty())
            return result;
        vector<int> container1(256,0);
        vector<int> container2(256,0);
        for(int i = 0;i < p.length();i++){
            container1[s[i]]++;
            container2[p[i]]++;
        }
        if(container1 == container2)
            result.push_back(0);
        for(int i = p.length();i < s.length();i++){
            container1[s[i - p.length()]]--;
            container1[s[i]]++;
            if(container1 == container2)
                result.push_back(i - p.length() + 1);
        }
        return result;
    }
};
原文地址:https://www.cnblogs.com/ymjyqsx/p/10479785.html