1. 程式人生 > 其它 >力扣242題(有效的字母異位詞)

力扣242題(有效的字母異位詞)

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 {
    public
boolean 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; } }