C Leetcode242 有效的字母異位詞

2021-09-11 07:10:12 字數 652 閱讀 9045

題目

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

示例 1:

輸入: s = 「anagram」, t = 「nagaram」

輸出: true

示例 2:

輸入: s = 「rat」, t = 「car」

輸出: false

說明:你可以假設字串只包含小寫字母。

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

思路

1、排序。對兩個字串進行排序後,判斷是否相等。時間複雜度為o(nlogn)

2、雜湊對映。將兩個字串分別放入兩個雜湊對映中,字元作為key,計數為value,最後比較兩個雜湊對映是否相等。時間複雜度為o(n)

實現方法

一、排序

class solution 

};

二、雜湊對映

class solution 

for(char b:t)

return m1==m2 ? true:false;

}};

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 類似雜湊 還是重複問題 首先需要明白題的意思,其實就是比較兩個字串中字母是否相同,在相同的情況下比較該字元...