242 有效的字母異位詞 python

2021-10-06 16:07:19 字數 1795 閱讀 2133

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

輸入: s =

"anagram", t =

"nagaram"

輸出: true

輸入: s =

"rat", t =

"car"

輸出: false

collections.defaultdict(int): 訪問dict中不存在的key值不報錯,預設值為0

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool

: dict_value = collections.defaultdict(

int)

iflen

(s)!=

len(t)

:return

false

for i in

range

(len

(s))

: dict_value[s[i]]+=

1 dict_value[t[i]]-=

1for i in dict_value:

if dict_value[i]!=0

:return

false

return

true

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool:if

len(s)

!=len

(t):

return

false

counts =[0

]*26for a in s:

counts[

ord(a)

-ord

("a")]

+=1for b in t:

# 說明兩個不一樣

if counts[

ord(b)

-ord

("a")]

<=0:

return

false

counts[

ord(b)

-ord

("a")]

-=1return

true

set 的內建優化和特性減少運算,以及使用布林運算提高效率

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool:if

len(s)

!=len

(t):

return

false

se =

set(s)

if se ==

set(t)

:for i in se:

# 直接比較字元元素個數比較字元的個數

if s.count(i)

!= t.count(i)

:return

false

return

true

else

:return

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