滑动窗口
public static List<Integer> findAnagrams(String s, String p) {
if (s==null||s.length()==0||s.length()<p.length()) return new ArrayList<>();
char[] sArr=s.toCharArray();
char[] pArr=p.toCharArray();
int[] hash=new int[128];
for (char c:pArr) hash[c]++;
ArrayList<Integer> results=new ArrayList<>();
int l=0,count=0,len=p.length();
for (int r=0;r<s.length();r++){
hash[sArr[r]]--;
if (hash[sArr[r]]>=0) count++;
if (r>len-1){
hash[sArr[l]]++;
if (hash[sArr[l]]>0) count--;
l++;
}
if (count==len) results.add(l);
}
return results;
}