最长回文串前缀
2016-09-12 20:49
148 查看
主要考虑了有两个以上回文串的情况,取末尾的回文串,然后我就从末尾开始判断,测了一些情况都复合,有错的地方请指正。
#include<stdio.h> #include<string.h> int huiwen(char *head,char *rear){ while(head<rear){ if(*head==*rear) { head++; rear--; } else return 0; } return 1; } char a[1000000]; int main(){ while(scanf("%s",a)){ int len=strlen(a); int count=0,i=0; char *rear=a,*head=&a[len-1]; while(head>a){ while(*rear!=*head&&rear<=head) rear++; if(head!=rear){ if(huiwen(rear,head)){ count=rear-a; break; } } head--; rear=a; } if(head==a){ count=len; } printf("%d\n",count); } return 0; }
相关文章推荐
- 回文串(最长前缀/最长子串)
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- 字符串相关处理kmp,前缀数,后缀树,后缀数组,最长回文串,最长重复字串,最长非重复字串
- Mirrored String II Gym - 101350I 求最长回文串
- 【数组和字符串】3.3最长回文串
- URAL 1297:后缀数组求最长回文串
- 求最长回文串 O(n)的manacher算法
- URAL 1297(Palindrome,后缀数组)最长回文串
- ACdream 1773 最长非回文串 (脑洞题)
- HYSBZ 2565 最长双回文串
- 后缀数组+最长公共前缀(LCS)+最长重复出现的不重叠字串(POJ 1743)
- 判断回文串,最长回文串方法
- longestPalindrome 最长回文串
- L2-008 最长对称子串(最长回文串)
- 最长回文串 O(n)复杂度(manacher算法)
- LintCode之最长回文串
- A - 最长回文(马拉车算法模板)(回文串)
- Manacher算法 - 求最长回文串的利器