242 有效的字母異位詞

2022-06-15 14:00:13 字數 850 閱讀 3938

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

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

原題請參考鏈結

方法一 【排序】

class solution:

def isanagram(self, s: str, t: str) -> bool:

# 字串s按英文本母從小到大排序

s = "".join((lambda x: (x.sort(), x)[1])(list(s)))

# 字串t按英文本母從小到大排序

t = "".join((lambda x: (x.sort(), x)[1])(list(t)))

if s == t:

return true

return false

方法二 【雜湊表(陣列雜湊)】
class solution:

def isanagram(self, s: str, t: str) -> bool:

if len(s) != len(t):

return false

l = [0] * 26 # 陣列作為雜湊表,每個位置存放26個字母出現的次數

for i in s:

l[ord(i)-ord('a')] += 1

for i in t:

l[ord(i)-ord('a')] -= 1

# 小於0代表第二個字串的某個字母出現次數比第乙個字串多

if l[ord(i)-ord('a')] < 0:

return false

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