挑戰資料結構和演算法面試題——連續最長數字串
阿新 • • 發佈:2019-02-05
題目來源“資料結構與演算法面試題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;
}