給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。
示例1:
輸入: s = "anagram", t = "nagaram"
輸出: true
示例2:輸入: s = "rat", t = "car"
輸出: false
說明:
你可以假設字串只包含小寫字母。
高階:如果輸入字串包含unicode字元怎麼辦?你能否調整你的解法來應對這種情況。
解法一:
首先想到的方法就是構造兩個字典,統計字典各個字母出現的次數是否相同,之後看兩個字典是否相等即可。
class
solution
(object):
defisanagram
(self, s, t)
:"""
:type s: str
:type t: str
:rtype: bool
"""dicts =
dictt =
for item in s:
if item in dicts:
dicts[item]+=1
else
: dicts[item]=1
for item in t:
if item in dictt:
dictt[item]+=1
else
: dictt[item]=1
return
true
if dicts==dictt else
false
解法二:
python 還包含了乙個資料型別 —— set (集合)。集合是乙個無序不重複元素的集。基本功能包括關係測試和消除重複元素。集合物件還支援 union(聯合),intersection(交),difference(差)和 sysmmetric difference(對稱差集)等數**算。
class
solution
(object):
defisanagram
(self, s, t)
:"""
:type s: str
:type t: str
:rtype: bool
"""iflen
(s)!=
len(t)
:return
false
s_set =
set(s)
t_set =
set(t)
if s_set == t_set:
for i in s_set:
if s.count(i)
!=t.count(i)
:return
false
return
true
else
:return
false
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中每個字母出現的次...