力扣242題(有效的字母異位詞)
阿新 • • 發佈:2021-10-14
242、有效的字母異位詞
基本思想:
雜湊表
具體實現:
1、定義一個大小為26的陣列record
2、record記錄字串s裡字元出現的次數
3、需要把字元對映到陣列也就是雜湊表的索引上
字元a到字元z的ASCII是26個連續的數值
字元a對映到索引0,字元z對映到索引25
遍歷s這個字串時,
將s[i] -'a' 這個索引對應的record+1
4、檢查字串t對應的字元有沒有出現在record上
遍歷字串t,
將t[i] - 'a' 這個索引對應的record-1
5、最後如果record的所有元素都是0,則s和t是字母異位詞
程式碼:
class Solution { publicboolean isAnagram(String s, String t) { int[] record = new int[26]; for (char c : s.toCharArray()){ record[c - 'a'] += 1; } for (char c : t.toCharArray()){ record[c - 'a'] -= 1; } for (int i : record){ if (i != 0){return false; } } return true; } }