这样的题一般都是简单难度,其思路就是找规律,找到规律都会很简单。
代码
class Solution {
public String reformatNumber(String number) {
String str = getStr(number);
int len = str.length();
if(len <= 3){
return str;
}
return getResult(str, len);
}
private String getResult(String str, int len) {
String desc = "";
if(len % 3 == 0){
int i = 0;
for(i = 0; i < len - 3; i = i + 3){
desc += str.substring(i, i + 3) + "-";
}
desc += str.substring(i);
}else if(len % 3 == 1){
int i = 0;
while(i < len - 5){
desc += str.substring(i, i + 3) + "-";
i += 3;
}
desc += str.substring(i, i + 2) + "-" + str.substring(i + 2);
}else{
int i = 0;
while(i < len - 2){
desc += str.substring(i, i + 3) + "-";
i += 3;
}
desc += str.substring(i);
}
return desc;
}
private String getStr(String number) {
int len = number.length();
String str = "";
for (int i = 0; i < len; i++) {
// number.substring(i, i + 1).equals(" ") || number.substring(i, i + 1).equals("-")
if(number.charAt(i) == ' ' || number.charAt(i) == '-'){
continue;
}else{
str += number.charAt(i);
}
}
return str;
}
}