1 class Solution
2 {
3 public:
4 bool checkInclusion(string s1, string s2)
5 {
6 if(s2.size()<s1.size())
7 return false;
8 int length = s1.size();
9 int hashForA[29] {0};
10 bool result = false;
11
12 for(int i = 0;i < length;i ++)
13 {
14 hashForA[s1[i]-'a'] ++;
15 }
16 for(int i = 0;i < s2.size()-length+1;i ++)
17 {
18 int hash[29] {0};
19 for(int j = 0;j < length;j ++)
20 {
21 hash[s2[i+j]-'a'] ++;
22 }
23 int k;
24 for(k = 0;k < 28;k ++)
25 {
26 if(hash[k] != hashForA[k])
27 break;
28 }
29 if(k == 28)
30 result = true;
31 }
32 return result;
33 }
34 };