题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()) { String inputStr = in.nextLine(); inputStr += "A"; int maxLen = 1; int left = 0; List<String> results = new ArrayList<>(); while (left < inputStr.length() - 1) { if (!Character.isDigit(inputStr.charAt(left))) { left++; continue; } for (int right = left + 1; right < inputStr.length(); right++) { if (!Character.isDigit(inputStr.charAt(right))) { if (right - left > maxLen) { maxLen = right - left; results.clear(); results.add(inputStr.substring(left, right)); } else if (right - left == maxLen) { results.add(inputStr.substring(left, right)); } left = right + 1; } } } StringJoiner joiner = new StringJoiner(""); for (String str : results) { joiner.add(str); } System.out.println(joiner.toString() + "," + maxLen); } }}