class Solution {
public List<Integer> findAnagrams(String s, String p) {
int[] count = new int[26];
int lp = p.length();
int ls = s.length();
List<Integer> res = new ArrayList<>();
if (lp > ls) {
return res;
}
for(int i=0; i < p.length(); i++) {
count[p.charAt(i) - 'a']++;
count[s.charAt(i) - 'a']--;
}
for(int i=0; i < ls - lp ; i++ ) {
boolean flag = true;
for(int j=0; j < 26; j++) {
if (count[j] != 0) {
flag = false;
break;
}
}
if (flag) {res.add(i);}
count[s.charAt(i)-'a']++;
count[s.charAt(i+lp) - 'a']--;
}
boolean flag = true;
for(int j=0; j < 26; j++) {
if (count[j] != 0) {
flag = false;
break;
}
}
if (flag) {res.add(ls - lp);}
return res;
}
}