您的位置:首页 > 其它

刷leetcode第五题-最长回文字符串

2018-01-30 00:00 351 查看
char* longestPalindrome(char* s) {
int max_len = 1;
char* st = s;
char* start = s;
while (*st) {

int i = 0;
int j = 0;
int tmp_len = 0;

while( *(st-i) == *(st+1+i) && *(st+1+i)!='\0' ) {
i++;
}

while(*(st-j) == *(st+j) && *(st+j)!='\0' ) {
j++;
}

tmp_len = i >= j ? 2*i : 2*j - 1;

if ( max_len < tmp_len ) {
max_len = tmp_len ;
start = ( max_len & 1 ) ?  st - (j - 1) : st - (i-1) ;
}

st++;
}

*(start + max_len) = '\0';
return start;
}

有个坑爹的地方就是,在提交的时候一直报编译错误,后来才发现,原来leetcode要求左花括号不能换行的。成果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法