Java写题解的第6天 | #在字符串中找出连续最长的数字串#

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

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

解题思路:模拟

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = "";
        while ((s = br.readLine()) != null) {
            List<String> list = new ArrayList<>();
            int maxLen = 0;
            int left = 0;
            while (left < s.length()) {
                if (Character.isDigit(s.charAt(left))) {
                    StringBuilder sb = new StringBuilder();
                    while (left < s.length() && Character.isDigit(s.charAt(left))) {
                        sb.append(s.charAt(left));
                        left++;
                    }
                    if (sb.length() == maxLen) {
                        list.add(sb.toString());
                    } else if (sb.length() > maxLen) {
                        list.clear();
                        maxLen = sb.length();
                        list.add(sb.toString());
                    }
                } else {
                    left++;
                }
            }
            StringBuilder sb2 = new StringBuilder();
            for (int i = 0; i < list.size(); i++) {
                sb2.append(list.get(i));
            }
            System.out.println(sb2.toString() + "," + list.get(0).length());
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 11:21
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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