思路:滑动窗口
题解:
class Solution {
public List<Integer> findAnagrams(String s, String p) {
List<Integer> ans = new ArrayList<Integer>();
if(s.length()<p.length()) return new ArrayList<Integer>();
int [] record1=new int[26];
int [] record2=new int[26];
for(int i=0;i<p.length();i++){
record1[s.charAt(i)-'a']++;
record2[p.charAt(i)-'a']++;
}
if(Arrays.equals(record1,record2)){
ans.add(0);
}
for(int i=0;i<s.length()-p.length();i++){
record1[s.charAt(i)-'a']--;
record1[s.charAt(i+p.length())-'a']++;
if(Arrays.equals(record1,record2)){
ans.add(i+1);
}
}
return ans;
}
}