字符串中找出连续最长的数字串
题目描述
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1
输入abcd12345ed125ss123456789
输出123456789
思路1:
用java字符串的split方法,按照非数字分割字符串,则
“abcd12345ed125ss123456789”被分割为以下三个部分:
- “12345”
- “125”
- “123456789”
然后求最长的字符串即可
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String line = sc.nextLine();
String[] arr = line.split("[^0-9]+");
int max = 0;
String result = "";
for(int i = 0; i < arr.length; i++) {
int len = arr[i].length();
if(len > max) {
result = arr[i];
max = len;
}
}
System.out.println(result);
}
sc.close();
}
}
思路2:
从头扫描字符串,统计最长的连续数字,代码略
可参考:
https://www.nowcoder.com/questionTerminal/bd891093881d4ddf9e56e7cc8416562d