力扣567.字符串的排列
-
用vector记录所有字母的分布(所有排列的字母分布一致) 然后比较即可
- 在s2中作滑动窗口
-
class Solution { public: bool checkInclusion(string s1, string s2) { if(s1.size() > s2.size()) return false; int k = s1.size(); vector<int> hashmap1(26,0); vector<int> hashmap2(26,0); for(int i=0;i<k;i++) { hashmap1[s1[i] - 'a'] ++; hashmap2[s2[i] - 'a'] ++; } for(int i=k;i<s2.size();i++) { if(hashmap1 == hashmap2) return true; hashmap2[s2[i-k] - 'a'] --; hashmap2[s2[i] - 'a'] ++; } return hashmap1 == hashmap2; } };