9. 找到字符串中所有字母异位词
给定两个字符串s和p找到s中所有p的异位词的子串返回这些子串的起始索引。不考虑答案输出的顺序。方法一哈希表class Solution(object): def findAnagrams(self, s, p): result{} result[.join(sorted(p))][] for i in range(len(s)-len(p)1): ts[i:ilen(p)] if .join(sorted(t)) in result: result[.join(sorted(p))].append(i) return result[.join(sorted(p))]方法二滑动窗口滑动一次判断一次class Solution(object): def findAnagrams(self, s, p): p_char[0]*26 s_char[0]*26 result[] if len(p)len(s): return result for _ in range(len(p)): p_char[ord(p[_])-ord(a)]1 s_char[ord(s[_])-ord(a)]1 if p_chars_char: result.append(0) for i in range(len(s)-len(p)): s_char[ord(s[i])-ord(a)]-1 s_char[ord(s[ilen(p)])-ord(a)]1 if p_chars_char: result.append(i1) return result