题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //空格划分输入,保存到数组中
        List<String> list = new ArrayList<>();
        while (sc.hasNext()) {
            String str = sc.next(); //next()遇到空格或者回车就停止
            if(!have2(str)){
                list.add(str);
            }else{
                String[] arr = split2(str);
                for(int j=0; j<arr.length; j++){
                    list.add(arr[j]);
                }
            }
        }

        StringBuilder sb = new StringBuilder();
        Collections.reverse(list);
        for(String sss: list){
            sb.append(sss).append(" ");
        }
        System.out.println(sb.toString());
    }

    public static String[] split2(String s){
        char[] chars = s.toCharArray();
        char temp = ' ';
        for (int i=0; i<chars.length; i++) {
            char c = chars[i];
            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
                continue;
            } else {
                //c是特殊字符==>间隔符
                s = s.replace(c, temp); //.replace(char oldChar, char newChar),特别注意要赋值
            }
        }
        return s.split(String.valueOf(temp));
    }

    public static boolean have2(String s){
        char[] chars = s.toCharArray();
        for (char c : chars) {
            if (c<'a' || c>'z' || c<'A' || c>'Z') {
                return true;
            }
        }
        return false;
    }

}

全部评论

相关推荐

点赞 评论 收藏
分享
06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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