题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

http://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

当然是利用Collections走捷径!把输入的字符串进行分割,数字串存入列表中。然后重写集合的排序接口,使之按照字符串的长度从大到小排列,最后只需要打印和第0个字符串长度相同的元素即可。

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String str = in.nextLine();
            List<String> list = new ArrayList<>();
            String res="";
            for(int i=0;i<str.length();++i){
                if(Character.isDigit(str.charAt(i))){
                    res+=str.charAt(i);
                }
                else {
                    list.add(res);
                    res="";
                }
            }
            if(!res.equals(""))list.add(res);
            Collections.sort(list,new Comparator<String>(){
                public int compare(String s1,String s2){
                    return s2.length()-s1.length();
                }
            });
            int maxlen = list.get(0).length();
            for(String s:list){
                if(s.length()==maxlen){
                    System.out.print(s);
                }
                else break;
            }
            System.out.print(","+maxlen+"\n");
        }
    }
}
全部评论

相关推荐

08-15 01:16
Python
Java小萌新新萌小...:照片不用整这么大的 而且你的照片截歪了 你想找专业对口的 那普通话证写在这里其实没有什么必要 就是看着内容多点 而且里面字体大小也不一样 修改一下排版 有很多空间可以再利用一下 字大一点 不然现在这样观感不太好 再就是项目好好优化一下 加油
点赞 评论 收藏
分享
09-22 15:45
门头沟学院 Java
谁给娃offer我给...:我也遇到了,我说只要我通过面试我就去,实际上我根本就不会去😁
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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