题目来源:
leetcode题目,网址:1694. 重新格式化电话号码 - 力扣(LeetCode)
解题思路:
将 number 字符串中的空格和 '-' 字符删去后,若剩余字符数大于四,则每三个字符添加一个 '-' ,否则每两个字符添加一个 '-'。
解题代码:
class Solution {
public String reformatNumber(String number) {
StringBuffer res=new StringBuffer();
number=number.replace(" ","");
number=number.replace("-","");
for(int i=0,count=0;i<number.length();i++){
if(count<2){
res.append(number.charAt(i));
count++;
}else {
if(number.length()-i==2){
res.append("-");
res.append(number.charAt(i));
count=0;
}else{
res.append(number.charAt(i));
if(i!=number.length()-1){
res.append("-");
}
count=0;
}
}
}
return res.toString();
}
}
总结:
官方题解也是一样的思路,另外我是每两个字符判断一次剩余字符是否为 2 ,若为 2 ,添加 '-' ,若不为 2 且后面仍有字符,添加一个字符,在添加一个 '-' ,否则不进行任何操作。