题解 | #表示数字#
表示数字
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); } }