题解 | #表示数字#
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//用StringBuilder 节约资源
StringBuilder sb=new StringBuilder(in.nextLine());
int n=sb.length();
char ch;
boolean shouldi=true;//判断是否新数字
for(int i=n-1;i>=0;i--){//从后往前循环,不破坏待判断的地方的索引顺序
ch=sb.charAt(i);
if(ch>=48 && ch<=57){
if(shouldi){
//这里是数字,前面是非数字就得加后缀*
sb.insert(i+1,"*");
shouldi=!shouldi;
}
//索引0是数字这里就结束循环了,需要给前面加个*
if(i==0)
sb.insert(0,"*");
}else{
if(!shouldi){
//这里是非数字,前面是数字就得加前缀*
sb.insert(i+1,"*");
shouldi=!shouldi;
}
}
}
System.out.println(sb);
}
}
阿里云成长空间 733人发布