#Sliding Window
public class Solution {
private boolean check(int[] arr) {
for (int num : arr) {
if (num != 0) return false;
}
return true;
}
public boolean checkInclusion(String s1, String s2) {
if (s1 == null || s2 == null) return false;
int len1 = s1.length();
int len2 = s2.length();
if (len1 > len2) return false;
int[] vector = new int[26];
int count = len1;
for(int i = 0; i < len1; i++) {
vector[s1.charAt(i) - 'a']++;
vector[s2.charAt(i) - 'a']--;
}
if (check(vector)) return true;
for (int i = 0; i + len1 < len2; i++) {
vector[s2.charAt(i) - 'a']++;
vector[s2.charAt(i + len1) - 'a']--;
if (check(vector)) return true;
}
return false;
}
}