华为9.11笔试第二题AC代码

import java.util.Scanner;
import java.util.LinkedList;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String originS = sc.nextLine();
        String[] splitS = originS.split(" ");
        
        LinkedList<String> list = new LinkedList<String>();
        
        for (int i = 0; i < splitS.length; i++) {
            String[] tmp = process2(splitS[i]);
            for (int j = 0; j < tmp.length; j++) {
                if (tmp[j] != "")
                    list.addFirst(tmp[j]);
            }
        }
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        } 
    }
    
    public static String[] process2(String s) {
        String newS = "";
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '-')
                newS = newS + c;
            else
                newS = newS + '-';
        }
        String[] res = newS.split("-{2,}");
        String[] newRes = new String[res.length];
        for (int i = 0; i < res.length; i++)
            newRes[i] = process3(res[i]);
        return newRes;
    }
    
    public static String process3(String s) {
        String res = "";
        boolean inner = false;
        
        int i = 0;
        while (i < s.length() && s.charAt(i) == '-')
            i++;
        int j = s.length()-1;
        while (j >= 0 && s.charAt(j) == '-')
            j--;
        
        
        for (int k = i; k <=j; k++)
            res = res + s.charAt(k);
                
        return res;
    }
}

#华为##笔试题目#
全部评论
AC代码 import re   def split(s):     ss = re.findall(r'[0-9A-Za-z]+(?:\-[0-9A-Za-z]+)*', s)     return ss ss = split(input()) print(" ".join(s for s in reversed(ss)))
点赞 回复 分享
发布于 2019-09-11 21:44
老哥保存了笔试题目吗
点赞 回复 分享
发布于 2019-10-05 22:07
用了几次正则就解决了
点赞 回复 分享
发布于 2019-09-11 22:31
楼主,请问下 4-*5 是变成 4-5 还是 4 5 呢?
点赞 回复 分享
发布于 2019-09-11 21:27

相关推荐

05-03 12:45
西南大学 Java
sdgfdv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
高斯林的信徒:问你有没有保底,好人啊,就差把这是kpi面告诉你了
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客企业服务