码迷,mamicode.com
首页 > 其他好文 > 详细

查找字符串中最长子串

时间:2015-05-11 17:36:39      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

查找字符串中最长子串,例如“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 != \0)
15     {
16         while(*end !=  )
17         {
18             // 到了字符串结尾处则也算是一个子串的结束必须跳出循环
19             if (*end == \0)
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\n",maxStr);
50     return ;
51 }
52  

 

查找字符串中最长子串

标签:

原文地址:http://www.cnblogs.com/jianghg/p/4495048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!