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