字符串中找出连续最长的数字串
读入一个字符串
str
,输出字符串
str
中的连续最长的数字串
- 输入描述: 输入包含1个测试用例,一个字符串str,长度不超过255。
- 输出描述: 在一行内输出str中里连续最长的数字串。
输入:abcd12345ed125ss123456789
输出:123456789
解题思路
用
max
表示经过的数字长度最大值,
count
表示数字计数器,当为字母时重置为
0,end
表示数字尾部,
每次满足数字时,对max
进行判断,当
max
小于
count
时,更新
max
和
end。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String str=sc.nextLine();
int max=0,end=0,count=0;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)>='0' && str.charAt(i)<='9'){
count++;
if(max<count){
max=count;
end=i;
}
}else{
count=0;
}
}
System.out.println(str.substring(end-max+1,end+1));
}
}