題目:有效的字母異位詞
給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是不是 s 的字母異位詞。
複製代碼
示例:
輸入: s = "anagram", t = "nagaram"
輸出: true
輸入: s = "rat", t = "car"
輸出: false
複製代碼
思考:
這道題先判斷s和t的長度,不相等則不多是字母異或位詞。
而後初始化一個int數組記錄二十六個字母出現的次數。
遍歷s、t,字母在s中出現一次數組對應位置上的數加1,在t中出現一次數組對應位置上的數減去1。
最後數組全部位置元素都爲0返回true,即t 是 s 的字母異位詞,不然返回false,t 不是 s 的字母異位詞。
複製代碼
實現:
class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length())
return false;
int[] result = new int[26];
for (int i = 0; i < s.length(); i++) {
result[s.charAt(i) - 'a']++;
result[t.charAt(i) - 'a']--;
}
for (int count = 0; count < 26; count++)
if (result[count] != 0)
return false;
return true;
}
}複製代碼