Increasing Decreasing String LeetCode solution in Java
1class Solution {2public String sortString(String s) {34StringBuilder result = new StringBuilder();5int[] freq = new int[26];6for (char c : s.toCharArray()) {7freq[c - 'a']++;8}9int remaining = s.length();10while (remaining != 0) {11for (int i = 0; i < 26 && remaining != 0; i++) {12if (freq[i] != 0) {13freq[i]--;14result.append((char) (i + 'a'));15remaining--;16}17}18for (int i = 25; i >= 0 && remaining != 0; i--) {19if (freq[i] != 0) {20freq[i]--;21result.append((char) (i + 'a'));22remaining--;23}24}25}26return result.toString();27}28}