Increasing Decreasing String LeetCode solution in Java

1
class Solution {
2
public String sortString(String s) {
3

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0