挑战数据结构和算法面试题——连续最长数字串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/google19890102/article/details/79763165

题目来源“数据结构与算法面试题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;
}
展开阅读全文

没有更多推荐了,返回首页