14.字符串的排列
方法:滑动窗口
class Solution {
public boolean checkInclusion(String s1, String s2) {
int m = s1.length(),n = s2.length();
if(m>n){
return false;
}
int[] cnt1 = new int[26];
int[] cnt2 = new int[26];
for(int i = 0;i<m;i++){
++cnt1[s1.charAt(i) - 'a'];
++cnt2[s2.charAt(i) - 'a'];
}
if(Arrays.equals(cnt1,cnt2)){
return true;
}
for(int i = m;i<n;i++){
++cnt2[s2.charAt(i) - 'a'];
--cnt2[s2.charAt(i- m) -'a'];
if(Arrays.equals(cnt1,cnt2)){
return true;
}
}
return false;
}
}