leetcode242 有效字母異位詞

2021-10-04 11:48:48 字數 1171 閱讀 6192

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

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

輸出: true

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

輸出: false

分別建立雜湊表,然後給對應位置的字母計數,get函式中的0是預設值,當元素不存在時,初始化為0

第二個做法是自己建立了乙個26位的陣列,ord函式是獲取字母的ascii碼,減去a就是對應【0-25】個數字,然後在之前建立的26位陣列中進行計數

#使用內建dict來做雜湊表

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool

: s_dict =

t_dict =

for i in s:

s_dict[i]

= s_dict.get(i,0)

+1for i in t:

t_dict[i]

= t_dict.get(i,0)

+1return s_dict == t_dict

# 自己建立了hash table

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool

: s_dict =[0

]*26 t_dict =[0

]*26for i in s:

s_dict[

ord(i)

-ord

('a')]

+=1for i in t:

t_dict[

ord(i)

-ord

('a')]

+=1return s_dict == t_dict

復 雜度

分析

:\color

複雜度分析:

時間複雜度:o(n)

空間複雜度:o(1)

Leetcode 242 有效的字母異位

time 20190901 type easy 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果...

LeetCode 242 有效的字母異位

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?思路 兩個字串長度不等,則不滿足。兩個字串相等,則滿足。定義兩個陣列,分別記錄s和t中每個字母出現的次...

LeetCode242有效的字母異位詞

給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。例如,s anagram t nagaram 返回 true s rat t car 返回 false 注意 假定字串只包含小寫字母。兩個int型陣列,sarray和tarray,來儲存s和t字串中的字元情況,a對應陣列...