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;}