5. 最长回文子串

    技术2025-05-28  23

    leetcode刷题

    给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb”

    **解题思路:动态规划;回文串就是正向和反向读出来的是一样的; 1.首先定义一个boolean[][] dp来表示是否为回文串,一个状态 2.如何来确定回文串的状态呢? “f aba d”首先看s.charAt(i)是否等于s.charAt(j);如果相等的话,再进一步去 i j 判断dp[i+1][j-1]是否为回文串;这时要注意:可能aba这种i+1和j-1是同一个数的情况,所以要有前提i-j<=2才判断dp[i+1][j-1] **

    class Solution { public String longestPalindrome(String s)
    Processed: 0.012, SQL: 9