从零开始遍历
class Solution {
public:
string longestPalindrome(string s) {
int length=s.size();
int maxlength=1;
int l,r;
int start=0;
///< recycle start reom zerom,which used twenty ms
for(int i=0;i<length;++i)
{
l=i-1;
r=i+1;
while(l>=0&&r<length&&s[l]==s[r])
{
if(r-l+1>maxlength)
{
maxlength=r-l+1;
start=l;
}
--l;
++r;
}
///<return backward find match substr
l=i;
r=i+1;
while(l>=0&&r<length&&s[l]==s[r])
{
if(r-l+1>maxlength)
{
maxlength=r-l+1;
start=l;
}
--l;
++r;
}
}
return s.substr(start,maxlength);
}
};
从一开始遍历
class Solution {
public:
string longestPalindrome(string s) {
int length=s.size();
int maxlength=1;
int l,r;
int start=0;
///<reccle start from one,which used sixteen ms
for(int i=1;i<length;++i)
{
l=i-1;
r=i+1;
while(l>=0&&r<length&&s[l]==s[r])
{
if(r-l+1>maxlength)
{
maxlength=r-l+1;
start=l;
}
--l;
++r;
}
///<return forward find match substr
l=i-1;
r=i;
while(l>=0&&r<length&&s[l]==s[r])
{
if(r-l+1>maxlength)
{
maxlength=r-l+1;
start=l;
}
--l;
++r;
}
}
return s.substr(start,maxlength);
}
};