//写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
//功能:
//在字符串中找出连续最长的数字串,并把这个串的长度返回,
//并把这个最长数字串付给其中一个函数参数outputstr所指内存。
//例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
//outputstr所指的值为123456789
public class Problem25 {
static public void print(Object o){
System.out.println(o);
}
static int continumax(char[] outputstr,char[] intputstr){
int i = 0;
char cOutputStrtemp[] = new char[1000];
int Size = 0;
int tempSize = 0;
int st = 0;
for (; i<intputstr.length;i++){
if (intputstr[i] >= '0' && intputstr[i] <= '9'){
cOutputStrtemp[tempSize++] = intputstr[i];
}else{
if (tempSize > Size){
cOutputStrtemp = new char[1000];
Size = tempSize;
tempSize = 0;
st = i - Size;
}
}
}
if (tempSize > Size){//最后一位可能是数字
cOutputStrtemp = new char[1000];
Size = tempSize;
tempSize = 0;
st = i - Size;
}
for (i = 0; i<Size; i++){
outputstr[i] = intputstr[st++];
//print(outputstr[i]);
}
return Size;
}
public static void main(String args[]){
String intput = "asda12315asd1a2s5454545";
char output[] = new char[1000];
int size = continumax(output,intput.toCharArray());
print(size);
for (int i = 0; i<size; i++){
print(output[i]);
}
}
}
微软等面试100题筛选答案-25-求最长连续数字子串
最新推荐文章于 2022-10-09 22:03:03 发布