题解 | #表示数字#用一个栈来记录上一个是什么类型
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.nextLine();
Stack<Character> s = new Stack();
StringBuilder sb = new StringBuilder();
//处理头
if(isDigit(input.charAt(0))){
sb.append("*");
}else{
}
s.push(input.charAt(0));
sb.append(input.charAt(0));
for(int i = 1 ; i < input.length() ; i++){
// 如果当前是数字
if(isDigit(input.charAt(i))){
//栈顶也是数字
if(isDigit(s.peek())){
//什么都补左
}
else{
sb.append("*");
}
}else{
//栈顶是数字
if(isDigit(s.peek())){
sb.append("*");
}
else{
}
}
sb.append(input.charAt(i));
s.push(input.charAt(i));
}
if(isDigit(input.charAt(input.length()-1)))
sb.append("*");
System.out.println(sb.toString());
}
static boolean isDigit(char c ){
return c >='0' && c <= '9';
}
}
