zoukankan      html  css  js  c++  java
  • 最长连续字符

    用递归算法写一个函数,求字符串最长连续字符的长度,比如aaaabbcc的长度为4,aabb的长度为2,ab的长度为1。

     (下面递归的代码有问题)

    #include <iostream>
    #include <cstring>
    using namespace std;
    int MaxLengthString(char str[])
    {
        int len=strlen(str);
        if(len==1) return 1;
        if(str=='') return 0;
        if(*(str+1)=='') return 1;
        if(*str == *(str+1)) return 1+MaxLengthString(str+1);
        return MaxLengthString(str+1);
    }
    int main()
    {
        char str[100];
        while(cin.getline(str,100))
        {
            int len=MaxLengthString(str);
            cout<<"Max length of string is:"<<len<<endl;
        }
        return 0;
    }

    非递归的实现代码:

    #include<stdio.h>  
    #include<assert.h>  
    int get_max_char_count(char *s,char *ret)  
    {  
        assert(s!=NULL);  
        char *temp_char,*final_char,*p;  
        int temp_count,final_count=0;  
        p=s;  
        while(*p!='')  
        {  
            temp_count=0;  
            for(temp_char=p,p=p+1,temp_count=1;*p!='';p++)  
            {  
                if(*p==*temp_char)  
                    temp_count++;  
                else  
                    break;  
            }  
            if(temp_count>final_count)  
            {  
                final_char=temp_char;  
                final_count=temp_count;  
            }  
        }  
        *ret=*final_char;  
        return final_count;  
    }  
    int main()  
    {  
        char s[]="aabbbcccc";  
        int count;  
        char c;  
        count=get_max_char_count(s,&c);  
        printf("%c is appeared %d times
    ",c,count);  
        return 0;
    }
  • 相关阅读:
    Pandas基本命令
    python——内建模块instance的学习
    pyhton——logging日志模块的学习
    mongoDB集群的搭建
    goahead(web服务器)分析
    2019-9
    cmake
    mqtt+htttp+websocket
    u-boot中filesize环境变量【转载】
    cppcheck下载及使用
  • 原文地址:https://www.cnblogs.com/wft1990/p/6991933.html
Copyright © 2011-2022 走看看