leetcode5.最大回文子串
char* longestPalindrome(char* s) {
int i = 0,sign = 0,l = 0,j = 0,length = 0,maxlength = 0;
for(;i < (sizeof(s)/sizeof(char));i++){
if(s[i] == s[i+1] && (s[i+1] != 0)){
l = i;
j = i+1;
length = 2;
while(s[l-1] == s[j+1] && s[l-1] != 0){
l--;
j++;
length += 2;
}
if(length >= maxlength){
sign = l;
maxlength = length;
}
}
if(s[i] == s[i+2] && s[i+2] != 0){
l = i;
j = i+2;
length = 3;
while(s[l-1] == s[j+1] && s[l-1] != 0){
l--;
j++;
length += 2;
}
if(length >= maxlength){
sign = l;
maxlength = length;
}
}
}
char* news = (char*)malloc(sizeof(int)*(maxlength * 2));
news[0] = '\0'
int n,k;
for(n = 0,k = sign;k <= j;n++,k++){
news[n] = s[k];
}
news[n] = '\0';
return news;
}
提交结果: