題目描述
給定兩個字串 s 和 t ,編寫一個函式來判斷 t 是否是 s 的字母異位詞。 注意:若 s 和 t 中每個字元出現的次數都相同,則稱 s 和 t 互為字母異位詞。 輸入: s = "anagram", t = "nagaram" 輸出: true
參考實現
public static boolean isAnagram(String s, String t) { int[] arr = new int[26]; for (int i = 0; i < s.length(); i++) { //[s.charAt(i) - 'a'] 字串全是小寫字母, //所有小寫字元減去 ‘a’ 得到的值最大是 25, //也就是說需要在這些索引上的valeu 做文章 arr[s.charAt(i) - 'a']++; } for (int i = 0; i < t.length(); i++) { arr[t.charAt(i) - 'a']--; } for (int i : arr) { if (i != 0) { return false; } } return true; }