Longest Palindromic Substring
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 max = 0;
boolean [][] matrix = new boolean[s.length()][s.length()];
int start =0;
int end = 0;
for (int delta = 0; delta < s.length(); delta++){
for (int i = 0; i + delta < s.length(); i++){
int m = i;
int n = i + delta;
if (( m == n) || s.charAt(m) == s.charAt(n) &&(delta < 2 || matrix[m + 1][n - 1])){
matrix[m][n] = true;
if (delta > max){
max = delta;
start = m;
end = n;
}
}
}
}
return s.substring(start, end + 1);
}
}