# Permutation in String

Given two strings**s1**and**s2**, write a function to return true if**s2**contains the permutation of**s1**. In other words, one of the first string's permutations is the**substring**of the second string.

**Example 1:**

```
Input: 
s1 = "ab" s2 = "eidbaooo"

Output: 
True

Explanation:
 s2 contains one permutation of s1 ("ba").
```

**Example 2:**

```
Input:
s1= "ab" s2 = "eidboaoo"

Output:
 False
```

分析

模板，注意是作为Min在while里被比较， 比较len(s1) == e-s?

```
class Solution:
    def checkInclusion(self, s1: str, s2: str) -> bool:
        lss,ll,s,e,counter,mm = len(s1),len(s2),0,0,len(s1),collections.Counter(list(s1))
        while e < ll:
            if mm[s2[e]] > 0:
                counter -= 1
            mm[s2[e]] -= 1
            e += 1
            while counter == 0:
                if lss == e - s:
                    return True
                if mm[s2[s]] == 0:
                    counter += 1
                mm[s2[s]] += 1
                s += 1

        return False
```
