题解 | #表示数字#

表示数字

http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6




import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * @author eagle2020
 * @date 2021/9/29
 */
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str = reader.readLine()) != null){
            StringBuilder sb = new StringBuilder();
            boolean lastDigit = false;
            int len = str.length();
            for(int i = 0; i < len; i++){
                char c = str.charAt(i);
                if(c >='0' && c <= '9'){
                    if(!lastDigit){//之前不是数字
                        sb.append("*");
                    }
                    sb.append(c);
                    lastDigit = true;
                }else{//字母
                    if(lastDigit){//上一个是数字
                        sb.append("*");
                    }
                    sb.append(c);
                    lastDigit = false;
                }
            }
            if(lastDigit){
                sb.append("*");
            }
            System.out.println(sb);
        }

    }
}





全部评论
这个思路是最清晰的
点赞 回复 分享
发布于 2022-07-09 19:55
这才是正常思维的解法
点赞 回复 分享
发布于 2024-11-21 09:50 北京

相关推荐

野猪不是猪🐗:这种直接口头上答应,骗面试,面完了直接拉黑,相当于给自己攒面经了(
点赞 评论 收藏
分享
评论
11
2
分享

创作者周榜

更多
牛客网
牛客企业服务