給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。
示例 1:
輸入:s = "anagram", t = "nagaram"輸出:true示例 2:
輸入:s = "rat", t = "car"輸出:false說明:
你可以假設字串只包含小寫字母。
1. 直接對兩個字串排序
2. 對於每乙個字串構建乙個map,最終比較兩個字串各自的map是否一樣
之前在對每乙個字串構建乙個屬於它自己的map時,我腦子中想的用2層迴圈,唉菜雞想法。。其實一次遍歷就可以完成這件事。
for i in s:
map_1[i]=map_1.get(i,0)+1
# get(key,0) 獲取字典中指定key的value,如果沒有的話返回0,並且如果沒有的話,map_1[i] 也就建立了乙個新的鍵值對,鍵就是這裡的i
class solution:
def isanagram(self, s: str, t: str) -> bool:
map_1={}
map_2={}
for i in s:
map_1[i]=map_1.get(i,0)+1
for i in t:
map_2[i]=map_2.get(i,0)+1
return map_1 == map_2
class solution:
def isanagram(self, s: str, t: str) -> bool:
return sorted(s) == sorted(t)
#因為python內內建了sorted函式,直接就可以用。
sort 與 sorted 區別:
sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。
list 的 sort 方法返回的是對已經存在的列表進行操作,無返回值,而內建函式 sorted 方法返回的是乙個新的 list,而不是在原來的基礎上進行的操作。
Leetcode 242 有效的字母異位
time 20190901 type easy 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果...
LeetCode242 有效的異位詞
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 false說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整...
LeetCode 242 有效的字母異位
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否調整你的解法來應對這種情況?思路 兩個字串長度不等,則不滿足。兩個字串相等,則滿足。定義兩個陣列,分別記錄s和t中每個字母出現的次...