File tree Expand file tree Collapse file tree 1 file changed +17
-10
lines changed
Expand file tree Collapse file tree 1 file changed +17
-10
lines changed Original file line number Diff line number Diff line change 11class Solution {
22 public String customSortString (String order , String s ) {
3- Map <Character , Integer > map = new HashMap <>();
4- int position = 1 ;
3+ Map <Character , Integer > frequency = new HashMap <>();
4+ for (char c : s .toCharArray ()) {
5+ frequency .put (c , frequency .getOrDefault (c , 0 ) + 1 );
6+ }
7+ StringBuilder sb = new StringBuilder ();
58 for (char c : order .toCharArray ()) {
6- map .put (c , position ++);
9+ int count = frequency .getOrDefault (c , 0 );
10+ while (count -- > 0 ) {
11+ sb .append (c );
12+ }
13+ frequency .put (c , 0 );
14+ }
15+ for (Character key : frequency .keySet ()) {
16+ int count = frequency .getOrDefault (key , 0 );
17+ while (count -- > 0 ) {
18+ sb .append (key );
19+ }
720 }
8- return s .chars ()
9- .mapToObj (c -> (char ) c )
10- .sorted (Comparator .comparing (o -> map .getOrDefault (o , 0 )))
11- .collect (Collector .of (StringBuilder ::new ,
12- StringBuilder ::append ,
13- StringBuilder ::append ,
14- StringBuilder ::toString ));
21+ return sb .toString ();
1522 }
1623}
You can’t perform that action at this time.
0 commit comments