字母异位词分组Python解法
生活随笔
收集整理的這篇文章主要介紹了
字母异位词分组Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。
字母異位詞 是由重新排列源單詞的字母得到的一個新單詞,所有源單詞中的字母通常恰好只用一次。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/group-anagrams
?
例:
?
輸入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
輸出: [["bat"],["nat","tan"],["ate","eat","tea"]]
解析:將每個字符串首先進行排序(sorted()函數),然后進行比較添加,最后提取結果轉成list格式即可。
class Solution(object):def groupAnagrams(self, strs):""":type strs: List[str]:rtype: List[List[str]]"""dic = {} # 用字典進行存取for s in strs: # 對每個字符串進行遍歷keys = "".join(sorted(s)) # 對字符串進行正序排列if keys not in dic: # 只有一個的情況dic[keys] = [s] # 要記得帶中括號,否則下面不能使用append(),而且最后的輸出也需要。else: # 多個的情況dic[keys].append(s)return list(dic.values()) # 只輸出字典的值,并且轉成列表格式。注:
sort 與 sorted 區別:
sort 是應用在 list 上的方法,sorted 可以對所有可迭代的對象進行排序操作。
list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的字母异位词分组Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么查个人社保账户总额 如何查看社保个人
- 下一篇: 理财分红型保险中的理财分红是怎么计算的