您的位置:首页 > 其它

Leetcode_005_Longest_Palindromic_Substring

2017-01-06 08:25 531 查看
public class Solution {
public String longestPalindrome(String s) {
String result = "";
if(s.length() == 1) return s;
for(int i = 0; i<s.length()-1; i++){
String odd = helper(i,i,s);
String even = helper(i,i+1,s);
if(odd.length()>even.length()){
if(odd.length() > result.length()) result = odd;
}else{
if(even.length() > result.length()) result = even;
}
}
return result;
}

private String helper(int i, int j, String s){
if(i != j && s.charAt(i) != s.charAt(j)){
return "";
}
while(i-1>=0 && j+1<s.length() && s.charAt(i-1) == s.charAt(j+1)){
i--;
j++;
}
return s.substring(i,j+1);
}
}

go through while string, make every character possible middle character(odd or even) and search for max length.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode