5. 最长回文子串
中等
相关标签
相关企业
提示
给你一个字符串 s
,找到 s
中最长的回文
子串
。
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
示例 1:
输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd" 输出:"bb"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(void){char s[]="qabbawhw";int pd(char *i,int len){ char *o=malloc(len);for(int a=0;a<len;a++){o[len-a-1]=i[a];}int k=memcmp(i,o,len);int bz=0;if(k==0) bz=1;free(o);return bz;}int bz=0;for(int q=0;q<8;q++){for(int w=q;w<8;w++){int cd=w-q+1;char o[8]={};memcpy(o,&(s[q]),cd); //把char[8] 分割为若干字符串/* for(int a=0;a<cd;a++){ //打印这些字符串printf("%c ",o[a]);}printf("\n");*/ int k=0;if(pd(o,cd)==1){ k=cd;if(k>bz) bz=k;}}}printf("%d\n",bz);return 0;
}