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

46. 对称子字符串的最大长度(ToDo)

时间:2014-05-23 04:21:13      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   c   code   java   

题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。

分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。

引子:判断字符串是否对称

要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则我们接着判断里面的两个字符是不是相等,以此类推。基于这个思路,我们不难写出如下代码:

bubuko.com,布布扣
////////////////////////////////////////////////////////////////
// Whether a string between pBegin and pEnd is symmetrical?
////////////////////////////////////////////////////////////////
bool IsSymmetrical(char* pBegin, char* pEnd)
{
       if(pBegin == NULL || pEnd == NULL || pBegin > pEnd)
              return false;
 
       while(pBegin < pEnd)
       {
              if(*pBegin != *pEnd)
                     return false;
 
              pBegin++;
              pEnd --;
       }
 
       return true;
}
bubuko.com,布布扣

要判断一个字符串pString是不是对称的,我们只需要调用IsSymmetrical(pString, &pString[strlen(pString) – 1])就可以了。

 

ToDo:

Suffix Tree?

参考:

http://zhedahht.blog.163.com/blog/static/25411174201063105120425/

http://blog.csdn.net/hackbuteer1/article/details/6686263

http://www.cnblogs.com/python27/archive/2011/12/18/2291977.html

http://www.ibaiyang.org/2013/01/06/suffix-tree-introduction/

46. 对称子字符串的最大长度(ToDo),布布扣,bubuko.com

46. 对称子字符串的最大长度(ToDo)

标签:style   class   blog   c   code   java   

原文地址:http://www.cnblogs.com/hellogiser/p/3742400.html

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