Increasing Decreasing String LeetCode solution in JavaScript
1/**2* @param {string} s3* @return {string}4*/5var sortString = function (s) {6const counts = [...s].reduce(7(acc, cur) => ((acc[cur.charCodeAt() - 97] += 1), acc),8new Array(26).fill(0)9);10const result = [];1112const pick = (code) => {13if (counts[code]) {14result.push(String.fromCharCode(code + 97));15counts[code] -= 1;16}17};1819while (result.length < s.length) {20for (let i = 0; i < counts.length; i++) pick(i);21for (let i = 0; i < counts.length; i++) pick(counts.length - 1 - i);22}2324return result.join("");25};