題目描述:
給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。
示例 1:
輸入: s = 「anagram」, t = 「nagaram」
輸出: true
示例 2:
輸入: s = 「rat」, t = 「car」
輸出: false
說明:
你可以假設字串只包含小寫字母。
高階:
如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?
方法1:使用陣列將字元對映進行出現頻率的統計
主要思路:
(1)先比較兩個字串的長度是否一致,若是不一致,則直接返回false;
(2)再將其中的乙個字串 s 使用陣列進行對映,統計其中的各個字元出現的頻率;
(3)使用統計後的陣列,對另乙個字串 t 進行檢測,出現某個統計的字元,則將對應的陣列元素減一,沒出現過,則直接返回false;
(4)由於兩個字串的長度一致,故若是正常跳出迴圈,則說明兩個字串的組成字元一致,返回true;
class
solution
;//統計其中的乙個字串內的字元
for(
int i=
0;isize()
;++i)
//檢測另乙個字串內的字元
for(
int i=
0;isize()
;++i)
return
true
;//跳出迴圈後,直接返回true即可}}
;
242 有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。class solution object def isa...
242 有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。class solution def isanagra...
242 有效的字母異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。輸入 s anagram t nagaram 輸出 true輸入 s rat t car 輸出 false方法1 類似雜湊 還是重複問題 首先需要明白題的意思,其實就是比較兩個字串中字母是否相同,在相同的情況下比較該字元...