题解 | #表示数字#用一个栈来记录上一个是什么类型

表示数字

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';
    }
}

全部评论

相关推荐

菜菜狗🐶:双非之光
找工作,你会甘心进小厂还...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-12-19 10:45
秋招路在何方:少了啊,我身边都是350000k*18,发三体货币
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务