您的位置:首页 > 其它

leetcode---Longest Palindromic Substring

2016-05-16 13:55 411 查看
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

class Solution {
public:
string longestPalindrome(string s) {
int len = s.length();
int i, j, m = 0, max = 0, left, right;
m = len;
for(i=0; i<m; i++)  //以i为中心,判断是否为回文串
{
for(j=0; i-j>=0 && i+j<m; j++)  //长度为奇数
{
if(s[i-j] != s[i+j])
break;
if(j*2+1 > max)
{
max = j * 2 + 1;
left = i-j;
right = i+j;
}
}

for(j=0; i-j>=0 && i+j+1<m; j++)  //长度为偶数
{
if(s[i-j] != s[i+j+1])
break;
if(j*2+2 > max)
{
max = j * 2 + 2;
left = i-j;
right = i+j+1;
}
}
}
string sub;
for(i=left; i<=right; i++)
sub += s[i];
return sub;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: