給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。
示例:
輸入:
["eat"
,"tea"
,"tan"
,"ate"
,"nat"
,"bat"
]輸出:[[
"ate"
,"eat"
,"tea"],
["nat"
,"tan"],
["bat"
]]
說明:
solution
用排序後的字串做key,存到字典裡
class
solution
(object):
defgroupanagrams
(self, strs)
: l=
for s in strs:
k="".join(
sorted
(s))
if k not
in l:
l[k]
=[s]
else
: l[k]
r=for k in l:
)return r
#或者這樣 return list(l.values())
又看見別人用collections庫,思路是一樣的((
class
solution
:def
groupanagrams
(self, strs: list[
str])-
> list[list[
str]]:
d = collections.defaultdict(
)for s in strs:
d["".join(
sorted
(s)]
return
list
(d.values(
))
LeetCode49 字母異位詞分組
給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。設定乙個map向量,專門用來統計字串中,所有字元出現的...
LeetCode 49 字母異位詞分組
給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。這道題的意思就是把含有相同字母的單詞歸類而已,思路其實...
LeetCode 49 字母異位詞分組
給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 此題輸入的是乙個字串陣列,遍歷該陣列,然後將每個字串排序,排序後的字串作為 鍵 存入雜湊表,對應的...