leetcode #4 in cpp


Code:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章