1.直接引入三个头文件
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
2.定义求解函数
先判空 在for循环 if语句进行判断
//定义函数来求回文串的长度
int longest(char*s)
{
if(s==NULL||strlen(s)==0)
return 0;
int maxlen=1;
int len=strlen(s);
//从每个字符开始向两边拓展
for(int i=0;i<len;i++)
{
//以中间1个字符串为中心向两边拓展的最长回文字串的长度
int len1=maxlen1=(s,i,i);
//以中间2个字符串为中心向两边拓展的最长回文字串的长度
int len2=maxlen2=(s,i,i+1);
//通过比较计算出两种情况中的最长回文串的长度
maxlen=(len1>len2?len1:len2);
}
return maxlen;
//定义存储字符串的位置和输出
3.定义存储位置 输入字符串 调用函数求解 输出结果
int main()
{
char s1[]="ababc";
char s2[]="abbba";
char s3[]="b";
int longestzichuan=longest(maxlen);
printf("最长回文子串为:%s\n",longestzichuan);
}
}
}