File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public String reformatNumber (String number ) {
3
+ List <Character > digits = number .chars ().mapToObj (c -> (char ) c ).filter (Character ::isDigit )
4
+ .collect (Collectors .toList ());
5
+ StringBuilder sb = new StringBuilder ();
6
+ int remainingCharacter = digits .size ();
7
+ int idx = 0 ;
8
+ while (remainingCharacter > 4 ) {
9
+ for (int i = 0 ; i < 3 ; i ++) {
10
+ sb .append (digits .get (idx ++));
11
+ }
12
+ remainingCharacter -= 3 ;
13
+ sb .append ("-" );
14
+ }
15
+ if (remainingCharacter > 3 ) {
16
+ for (int i = 0 ; i < 4 ; i ++) {
17
+ sb .append (digits .get (idx ++));
18
+ if (i == 1 ) {
19
+ sb .append ('-' );
20
+ }
21
+ }
22
+ } else {
23
+ for (; idx < digits .size (); idx ++) {
24
+ sb .append (digits .get (idx ));
25
+ }
26
+ }
27
+ return sb .toString ();
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments