题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
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);
}
}}

查看7道真题和解析