题目链接:https://leetcode.com/problems/longest-palindromic-substring/?tab=Description
Description
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
Example:
Input: "cbbd" Output: "bb"
Subscribe to see which companies asked this question.
My Answer
char* longestPalindrome(char* s) {
char *a;
int point = 0;
int i;
int l, r;
int len = strlen(s);
int count;
int max_length = 1;
a = (char *)malloc(1001 * sizeof(char));
if( len == 0 )
{
return "";
}
else if( len == 1 )
{
return s;
}
for( i = 0; i < len ; i++)
{
//take i as center
l = i ;
r = i ;
while( l >= 0 && r < len )
{
if(s[l] != s[r] )
{
break;
}
else
{
l--;
r++;
}
}
l++;
r--;
count = r - l + 1 ;
if(count > max_length)
{
point = l;
max_length = count;
}
//take i and i+1 as center
l = i;
r = i + 1;
while( l >= 0 && r < len )
{
if(s[l] != s[r] )
{
break;
}
else
{
l--;
r++;
}
}
l++;
r--;
count = r - l + 1 ;
if(count > max_length)
{
point = l;
max_length = count;
}
}
strncpy(a, s + point, max_length);
a[max_length] = '\0';
return a;
}
Submission Details
94 / 94 test cases passed.
| Status: Accepted |
Runtime:
9 ms
|
Submitted:
5 minutes ago
|
The c language without string is hard to use.