給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。
示例 1:
輸入: s = "anagram", t = "nagaram"
輸出: true
示例 2:輸入: s = "rat", t = "car"
輸出: false
說明:
你可以假設字串只包含小寫字母
高階:如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?
解法1:
思路:(感覺比較巧妙)用乙個大小為26的int陣列順序表示26個字母的位置,遍歷s字串每個字元,對應字元在陣列中加1;遍歷t字串每個字元,對應字元在陣列中減1,最後判斷陣列內元素是否全為0,是則返回true,否則false。
class solution
for(int j=0;j'a']--;
}for(int i: chall)
}return
true;
}}
解法2:
思路:把字串轉換成字元陣列,排序,然後逐個比較,如果有不符合,則返回false,如果比對完全相同,則返回true。(記得得先判斷兩陣列長度是否相同)
class solution
}}else
return
true;
}}
bb一句:
注意:charat();arrays.sort() ; chall [s.charat(i)-『a』]++; ;
有效的字母異位詞
原題位址 判斷是否是字母異位詞即判斷字串中是否只有字元的位置不同,也就是判斷兩個字串中包含的字元以及這些字元出現的次數是否相同 首先既然只有位置不同,那麼長度不同的字串必然不符合要求。將字串轉換為字元陣列之後對陣列進行排序,這兩個陣列中的元素必然全部相等 public boolean isanagr...
有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。解 看到這個題,想到的就是判斷兩個字串中的字母及其數量是否...
有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你...