• 查找字符串中最长子串


    查找字符串中最长子串,例如“I love OC”最长子串为“love”

     1 void findMaxLengthSubstr1(char *src)
     2 {
     3     char *start = src;
     4     char *end = src;
     5     unsigned int maxLength = 0;
     6     unsigned int tempLength = 0;
     7     // 此处子串长度不能超过100
     8     char maxStr[100] = "0";
     9 
    10     if (src == NULL)
    11     {
    12         return ;
    13     }
    14     while (*end != '')
    15     {
    16         while(*end != ' ')
    17         {
    18             // 到了字符串结尾处则也算是一个子串的结束必须跳出循环
    19             if (*end == '')
    20             {
    21                 break;
    22             }
    23             tempLength++;
    24             end++;
    25         }
    26 
    27         // 判断空格之前单词长度是否大于记录的最大长度
    28         if(maxLength < tempLength)
    29         {
    30             maxLength = tempLength;
    31             // 只能存储长度小于100的 否则直接退出,
    32             // 原则可以不支持,但必须保证程序没有异常不会挂机
    33             if (maxLength < 100)
    34             {
    35                 strncpy(maxStr,start,maxLength);
    36             }
    37             else
    38             {
    39                 printf("The substr too length");
    40                 return;
    41             }
    42         }
    43         // 无论长度是否大于maxLength只要到了间隔符都要指向空格符的下一个位置重新统计
    44         end++;
    45         start = end;
    46         // 临时长度记录值清空,记录下一个子 串的长度
    47         tempLength = 0;
    48     }
    49     printf("maxstr %s
    ",maxStr);
    50     return ;
    51 }
    52  
  • 相关阅读:
    矩阵快速幂---BestCoder Round#8 1002
    行列式及其基本性质
    排列,逆序
    扩展欧几里得
    AC automation 模板
    hdu2897 巴什博奕
    hdu2188 巴什博奕
    hdu1846 巴什博奕
    hdu2149 巴什博奕
    【转】博弈基础
  • 原文地址:https://www.cnblogs.com/jianghg/p/4495048.html
Copyright © 2020-2023  润新知