Skip to content

Latest commit

 

History

History
28 lines (25 loc) · 726 Bytes

92. 找到字符串中所有字母异位词.md

File metadata and controls

28 lines (25 loc) · 726 Bytes

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

class Solution(object):
    def findAnagrams(self, s, p):
        """
        :type s: str
        :type p: str
        :rtype: List[int]
        """
        n = len(s)
        res = []
        left = 0
        cnt = [0]*26

        target = [0]*26
        for c in p:
            target[ord(c)-ord('a')] += 1

        for i in range(n):
            cnt[ord(s[i])-ord('a')] += 1
            if i >= len(p):
                cnt[ord(s[left])-ord('a')] -= 1
                left += 1
            if cnt == target:
                res.append(left)
        return res