LeetCode5:最长回文字串

    技术2022-07-16  80

    class Solution { public String longestPalindrome(String s) { if(s == null || s.equals("")){ return s; } int n = s.length(); boolean[][] dp = new boolean[n][n]; int begin = 0; int len = 1; //base for(int i = 0;i < n;i++){ dp[i][i] = true; } //状态转移 for(int i = n-1;i>=0;i--){ for(int j =i+1;j<n;j++){ if(s.charAt(i)==s.charAt(j)){ if(j - i < 3){ dp[i][j] = true; } else{ dp[i][j] = dp[i+1][j-1]; } } else{ dp[i][j] = false; } if(dp[i][j] == true && j-i+1>len){ begin = i; len = j-i+1; } } } return s.substring(begin,begin+len); } }

     

    Processed: 0.009, SQL: 9