5. 最长回文子串

Posted 潜行前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5. 最长回文子串相关的知识,希望对你有一定的参考价值。

  1. 最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:

输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:

输入:s = “cbbd”
输出:“bb”
示例 3:

输入:s = “a”
输出:“a”
示例 4:

输入:s = “ac”
输出:“a”

class Solution {
    public String longestPalindrome(String s) {
        char[] arr = s.toCharArray();
        boolean[][] dp = new boolean[arr.length][arr.length];
        for(int i= 0; i < arr.length; i++){
            dp[i][i] = true;
        }
        String res =  String.valueOf(arr[0]);
        for(int len = 1; len < arr.length ; len++){
            for(int i= 0; i < arr.length - len; i++){
                dp[i][i+len] = (len < 2 || dp[i+1][i+len-1]) && arr[i]==arr[i+len];
                res = dp[i][i+len] ? s.substring(i,i+len+1) : res;
            }
        }
        return res;
    }
}

以上是关于5. 最长回文子串的主要内容,如果未能解决你的问题,请参考以下文章

leectcode 动态规划5.最长回文子串

LeetCode 5 最长回文子串

leetcode-5 最长回文子串(动态规划)

5. 最长回文子串

5-最长回文子串

[5]. 最长回文子串