leetcode Longest Palindromic Substring

来源:互联网 发布:51单片机的引脚功能 编辑:程序博客网 时间:2024/06/05 17:30

中心拓展法


/* * findLongestPalindrome.cpp * *  Created on: 2014年12月26日 *      Author: judyge */#include <iostream>#include <string>#include "stdio.h"using namespace std;    string findLongestPalindrome(string &s)    {        const int length=s.size();        int maxlength=0;        int start;        for(int i=0;i<length;i++)//长度为奇数        {            int j=i-1,k=i+1;            while(j>=0&&k<length&&s.at(j)==s.at(k))            {                if(k-j+1>maxlength)                {                    maxlength=k-j+1;                    start=j;                }                j--;                k++;            }        }        for(int i=0;i<length;i++)//长度为偶数        {            int j=i,k=i+1;            while(j>=0&&k<length&&s.at(j)==s.at(k))            {                if(k-j+1>maxlength)                {                    maxlength=k-j+1;                    start=j;                }                j--;                k++;            }        }        if(maxlength>0)            return s.substr(start,maxlength);        return NULL;    }    int main(){    string s;    s="abacdfgdcaba";    string ss=findLongestPalindrome(s);    cout<<ss;    }


0 0
原创粉丝点击