题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。
问题分析:字符串的处理,判断每一位是不是数字,用到了函数isdigit
方法:
int continumax(char *outputstr, char * inputstr){
if (NULL == inputstr) return 0;
char *p = inputstr;
char *q = inputstr;// 记录最长字串的开始
int length = 0;
int max_len = 0;// 记录最大的长度
while(*p != '\0'){
if (!isdigit(*p)){
length = 0;
p ++;
continue;
}
length ++;
if (length > max_len){
max_len = length;
q = p - length + 1;
}
p ++;
}
int i = 0;
for (i = 0; i < max_len; i++){
outputstr[i] = *q;
q ++;
}
outputstr[i] = '\0';
return max_len;
}