Longest Palindrome Substring
public String longestPalindrome(String s) {
if (s == null || s.length() == 0) return "";
char[] array = s.toCharArray();
int rStart = 0, rEnd = 0, maxLen = 0;
for (int i = 0; i < array.length; i++) {
if (isPalindrome(array, i - maxLen - 1, i)) {
rStart = i - maxLen - 1;
rEnd = i;
maxLen += 2;
} else if (isPalindrome(array, i - maxLen, i)) {
rStart = i - maxLen;
rEnd = i;
maxLen += 1;
}
}
return s.substring(rStart, rEnd + 1);
}
public boolean isPalindrome(char[] array, int start, int end) {
if (start < 0 || end >= array.length) return false;
while (start < end) {
if (array[start++] != array[end--]) {
return false;
}
}
return true;
}