LeetCode每日一題:有效的字母異位詞(No.242)

題目:有效的字母異位詞


給定兩個字符串 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;
    }
}複製代碼
相關文章
相關標籤/搜索