您的位置:首页 > 其它

LeetCode Longest Palindromic Substring 最长回文子串

2015-01-27 16:45 537 查看
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.(最长回文子串)

中心扩展法:

public class Solution {
public String longestPalindrome(String s) {
int length = s.length();
int maxlength = 0;
int start=0;

for(int i=0;i<length;i++)//子串长度是奇数
{
int j=i-1,k=i+1;
while(j>=0&&k<length&&(s.charAt(j)==s.charAt(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.charAt(j)==s.charAt(k))
{
if(k-j+1>maxlength)
{
maxlength = k-j+1;
start = j;
}
j--;
k++;
}

}
if(maxlength>0)
{
return s.substring(start,start+maxlength);
}
return s;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: