Leetcode 5 Longest Palindromic Substring
class Solution{
public:
string longestPalindrome(string s){
if(s.empty()|| s.length() == 1)
return s;
vector<vector<bool>> dp(s.length(),vector<bool>(s.length(),false));
int max_length = 1;
int begin = 0;
int end = 0;
for(int i = 0;i < s.length();++ i)
dp[i][i] = true;
for(int i = s.length() -2;i >= 0;--i) {
for(int j = i+1;j < s.length(); ++j) {
if(s[j] == s[i] && (dp[j-1][i+1] || j - i <2)){
dp[j][i] = true;
if(max_length < j-i+1){
max_length = j-i+1;
begin = i;
end = j;
}
}
}
}
return s.substr(begin,end-begin+1);
}
};