1. 程式人生 > 實用技巧 >【力扣】242. 有效的字母異位詞

【力扣】242. 有效的字母異位詞

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

示例1:

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

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

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

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/valid-anagram
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

public boolean
isAnagram(String s, String t) { //判斷是否為字母異位詞 //1.如果長度不一致,肯定不是 if(s.length() != t.length()){ return false; } int letters[] = new int[26]; //定義26位字母的陣列 for(int i = 0 ; i < s.length() ; i++){ int index = s.charAt(i) - 'a'; letters[index]
= letters[index] + 1; } for(int i = 0; i < t.length() ; i++){ int index = t.charAt(i) - 'a'; if(letters[index] == 0){ return false; } else { letters[index] = letters[index] -1; } } return
true; }

如果字串包含unicode字元,就使用額外的空間,hashMap來保證每個字元都能夠正常區分