排序LeetCode 451 Sort Characters By Frequency

LeetCode 451

Sort Characters By Frequency

class Solution {
public:
    static bool cmp(pair<char, int>& p, pair<char, int>& q) {
        return p.second>q.second;
    }
    string frequencySort(string s) {
        if (s.length()==0||s.length()==1||s.length()==2) return s;
        string str = "";
        map<char, int> character;
        for (int i = 0; i < s.length(); i++)  {
            character[s[i]]++;
        }
        vector<pair<char, int>> v(character.begin(), character.end());
        sort(v.begin(), v.end(), cmp);
        for (int i = 0; i < v.size(); i++) {
            while(v[i].second--) {
                str += v[i].first;
            }
        }
        return str;
    }
};

猜你喜欢

转载自blog.csdn.net/shey666/article/details/80755353