Leetcode438. 找到字符串中所有字母异位词

class Solution {
public:
    vector<int> findAnagrams(string s, string p) {
        unordered_map<char,int> window,hash;
        vector<int> res;
        for(auto i:p)   hash[i]++;
        for(int i=0,j=0;i<s.size();i++)
        {
            window[s[i]]++;
            if(i>=p.size())
            {
                window[s[j]]--;
                if(window[s[j]]==0) window.erase(s[j]);
                j++;
            }
            if(window==hash)    res.push_back(j);
        }
        return res;
    }
};
posted @ 2023-07-28 12:30  穿过雾的阴霾  阅读(8)  评论(0)    收藏  举报