题目描述
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
示例 1:
输入:
“tree”
输出:
“eert”
解释:
'e’出现两次,'r’和’t’都只出现一次。
因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。
链接:https://leetcode-cn.com/problems/sort-characters-by-frequency
python3 实现
class Solution:
def frequencySort(self, s: str) -> str:
field={}
for i in range(len(s)):
if s[i] not in field:
field[s[i]]=1
else :
field[s[i]]+=1
field=sorted(field.items(),key=lambda x:x[1],reverse=True) #字典根据value值排序
print(field,type(field)) #list型
res=''
for i in range(len(field)):
res+=field[i][0]*field[i][1]
return res