import java.util.*;

public class Solution {

//先对p字符串进行排序,生成新的字符串,然后判断s的子字符串是否包含有新的p字符串
public ArrayList<Integer> findWord (String s, String p) {
    // write code here
    int pLength = p.length();
    int sLength = s.length();
    if(sLength<pLength){
        return null;
    }
    ArrayList<Integer> resultArrayList = new ArrayList<>();
    char[] pCharArray = p.toCharArray();
    String tempString;
    Arrays.sort(pCharArray);
    p = new String(pCharArray);
    for (int i = 0; i < sLength-pLength+1; i++) {
            tempString=s.substring(i,i+pLength);
            if(judge(tempString,p)){
                resultArrayList.add(i);
            }
    }
    return resultArrayList;
}

private boolean judge(String tempString, String p) {
    char[] charArray = tempString.toCharArray();
    Arrays.sort(charArray);
    tempString=new String(charArray);
    return tempString.contains(p);
}

}