leetcode【每日一題】242. 有效的字母異位詞 java

宰了那隻湯姆貓發表於2020-11-22

題幹

給定兩個字串 s 和 t ,編寫一個函式來判斷 t 是否是 s 的字母異位詞。

示例 1:

輸入: s = "anagram", t = "nagaram"
輸出: true

示例 2:

輸入: s = "rat", t = "car"
輸出: false
說明:
你可以假設字串只包含小寫字母。

進階:
如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?

想法

因為只包含小寫字母,用陣列來作為map儲存在s裡的每個字母出現的次數

再遍歷一遍t,遇到一個就減一個統計次數

最後如果map是個全為0的陣列就對

Java程式碼

class Solution {
  public boolean isAnagram(String s, String t) {
        if(s==null&&t==null){
            return  true;
        }
        int[] map=new int[26];
        char[] schar=s.toCharArray();
        char[] tchar=t.toCharArray();
        for (char c:schar
             ) {
            map[c-'a']++;
        }
        for (char tem:tchar
        ) {
            map[tem-'a']--;
        }
        for (int f:map
             ) {
            if(f!=0){
                return  false;
            }
        }
        return  true;

    }
}

我的leetcode程式碼都已經上傳到我的githttps://github.com/ragezor/leetcode

相關文章