451.根据字符串频率排序

image.png

  1. /**
  2. * @param {string} s
  3. * @return {string}
  4. */
  5. var frequencySort = function (s) {
  6. let map = new Map();
  7. for (let i of s) {
  8. map.set(i, (map.get(i) || 0) + 1);
  9. }
  10. const list = [...map.keys()];
  11. list.sort((a, b) => map.get(b) - map.get(a));
  12. const sb = [];
  13. const size = list.length;
  14. for (let i = 0; i < size; i++) {
  15. const ch = list[i];
  16. for (let j = 0; j < map.get(ch); j++) {
  17. sb.push(ch);
  18. }
  19. }
  20. return sb.join('');
  21. };