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

文章目录

  • 题目
  • 代码(9.24 首刷自解)

题目

Leetcode 451. 根据字符出现频率排序_第1张图片
Leetcode 451. 根据字符出现频率排序

代码(9.24 首刷自解)

class Solution {
public:
    string frequencySort(string s) {
        unordered_map<char, int> mp;
        for(char&c : s)
            mp[c]++;
        auto cmp = [](auto& a, auto& b) {
            return a.second < b.second;
        };
        priority_queue<pair<char, int>, vector<pair<char, int>>, decltype(cmp)> q(cmp);
        for(auto& kv : mp)
            q.push(kv);
        string ans;
        while(!q.empty()) {
            auto front = q.top();
            q.pop();
            string tmp(front.second, front.first);
            ans += tmp;
        }
        return ans;
    }
};

你可能感兴趣的:(Leetcode专栏,leetcode,算法,职场和发展)