5. Longest Palindromic Substring

来源:互联网 发布:添加网络打印机搜不到 编辑:程序博客网 时间:2024/05/29 03:24

题目链接: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.

String

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


Summary

The c language without string is hard to use.


0 0
原创粉丝点击