Leetcode-451. 根据字符出现频率排序

题目描述

给定一个字符串,请将字符串里的字符按照出现的频率降序排列。

示例 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

你可能感兴趣的:(数据结构与算法)