【438. 找到字符串中所有字母异位词】
Leetcode算法练习 笔记记录
- 438. 找到字符串中所有字母异位词
438. 找到字符串中所有字母异位词
思路就是我们要找和p相同的词,可以先排个序,每次取一个和p的size长度相同的窗口去滑动,符合就记录,不符合继续滑动。
public List<Integer> findAnagrams(String s, String p) {char[] array = p.toCharArray();Arrays.sort(array);int pSize=array.length;int n=s.length();int left=0;List<Integer> res = new ArrayList<>();for (int right = 0; right < n; right++){while (right-left+1==pSize){String str=s.substring(left,right+1);char[] array1 = str.toCharArray();Arrays.sort(array1);if (Arrays.equals(array,array1)){res.add(left);}left++;}}return res;}