您的位置:首页 > 其它

5 Longest Palindromic Substring

2015-08-27 21:18 246 查看
public class Solution {

public String longestPalindrome(String s) {

if(s==null||" ".equals(s)||s.length()==0) return " ";

int len = s.length();

int maxLen = 0, mf = 0, mr = 0;

for(int i=0;i<len;++i){

//长度为奇数

int f = i - 1, r = i+1;

while(f>=0&&r<len){

if(s.charAt(f)==s.charAt(r)){

--f;

++r;

}else{

break;

}

}

if(r-f-1 > maxLen){

maxLen = r - f - 1;

mf = f + 1;

mr = r - 1;

}

//长度为偶数

int p = i, q = i + 1;

while(p>=0&&q<len){

if(s.charAt(p)==s.charAt(q)){

--p;

++q;

}else{

break;

}

}

if(q-p-1 > maxLen){

maxLen = q - p - 1;

mf = p + 1;

mr = q - 1;

}

}

return s.substring(mf, mr + 1);

}

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