<qiyuangong>438_Find_All_Anagrams_in_a_String_2.java
public List<Integer> findAnagrams(String s, String p) {
        List<Integer> list = new ArrayList<Integer>();
        int ls = s.length(), lp = p.length();
        for (int i = 0; i <= ls - lp; i++) {
            boolean flag = true;
            String sub = s.substring(i, i + lp);
            int[] charCnt = new int[256];
            for (int j = 0; j < sub.length(); j++) {
                charCnt[sub.charAt(j)]++;
            }
            for (int j = 0; j < lp; j++) {
                charCnt[p.charAt(j)]--;
            }
            for (int j = 0; j < charCnt.length; j++) {
                if (charCnt[j] != 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                list.add(i);
            }
        }
        return list;
    }
public List < Integer > var_1 ( String var_3 , String var_4 ) {
  List < Integer > var_7 = new ArrayList < Integer > ( ) ;
  int var_9 = var_3 . length ( ) , var_10 = var_4 . length ( ) ;
  for ( int var_12 = 0 ;
  var_12 <= var_9 - var_10 ;
  var_12 ++ ) {
    boolean var_20 = true ;
    String var_15 = var_3 . substring ( var_12 , var_12 + var_10 ) ;
    int [ ] var_17 = new int [ 256 ] ;
    for ( int var_18 = 0 ;
    var_18 < var_15 . length ( ) ;
    var_18 ++ ) {
      var_17 [ var_15 . charAt ( var_18 ) ] ++ ;
    }
    for ( int var_18 = 0 ;
    var_18 < var_10 ;
    var_18 ++ ) {
      var_17 [ var_4 . charAt ( var_18 ) ] -- ;
    }
    for ( int var_18 = 0 ;
    var_18 < var_17 . length ;
    var_18 ++ ) {
      if ( var_17 [ var_18 ] != 0 ) {
        var_20 = false ;
        break ;
      }
    }
    if ( var_20 ) {
      var_7 . add ( var_12 ) ;
    }
  }
  return var_7 ;
}
