# 451. Sort Characters By Frequency

hashmap + sort O(NlogN)

```python
from collections import Counter
class Solution:
    def frequencySort(self, s: str) -> str:
        c = Counter(s)
        return "".join(sorted(s,key=lambda x:(-c[x],x)))
        
```

HashMap + bucket sort

```python
from collections import Counter
class Solution:
    def frequencySort(self, s: str) -> str:
        if s=="":
            return ""
        c = Counter(s)
        max_freq = max(c.values())
        buckets = [[] for _ in range(max_freq+1)]
        
        for ch,freq in c.items():
            buckets[freq].append(ch)
        
        res=""
        for i in range(len(buckets)-1,0,-1):
            if len(buckets[i]) > 0:
                for ch in buckets[i]:
                    res+= ch * i
        return res
```
