LeetCode5:最长回文子串

参考链接:
🔗:【5. 最长回文子串 Longest Palindromic Substring【LeetCode 力扣官方题解】-哔哩哔哩】

具体代码

java 复制代码
class Solution {
    public String longestPalindrome(String s) {
        int i=0,j,k=0,n=s.length(),max_len=1,begin=0;
        char[] ch = s.toCharArray();
        boolean[][] dp=new boolean[n][n];
        if(s==null||n==0){
            return null;
        }
        if(n==1){
            return s;
        }
        for(j=1;j<n;++j){
            for (i=0;i<j;++i){
                if(ch[i]!=ch[j]){
                    dp[i][j]=false;
                }else{
                    if(j-i<=2){
                        dp[i][j]=true;
                    }else{
                        dp[i][j]=dp[i+1][j-1];
                    }
                    if(dp[i][j]==true&&j-i+1>max_len){
                        max_len=j-i+1;
                        begin=i;
                    }
                }
            }

        }
        return s.substring(begin,begin+max_len);
    }
    
}
相关推荐
All for pursuit.1 小时前
【矩阵-2】240.搜索二维矩阵 II
数据结构·c++·算法·leetcode
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 209. 长度最小的子数组 | C++ 滑动窗口(毛毛虫算法)经典模板
c++·算法·leetcode
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 28. 找出字符串中第一个匹配项的下标 | C++ 滑动窗口与子串比对
c++·算法·leetcode
土司大王11 小时前
LeetCode hot100——35.搜索插入位置:Java 二分模板、左闭右开区间与插入点分析
java·算法·leetcode
土司大王11 小时前
LeetCode hot100——34.在排序数组中查找元素的第一个和最后一个位置:Java 二分模板、边界分析
java·算法·leetcode
a1879272183115 小时前
【算法】双指针与滑动窗口(二):滑动窗口——吃进、判定、吐出
算法·leetcode·双指针·滑动窗口·原理·模板·算法讲解
铭哥的编程日记15 小时前
从一道 LeetCode Hard 到吃透一类题:加权区间调度「排序 + 二分 + DP」
算法·leetcode·职场和发展
Navigator_Z16 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
6Hzlia17 小时前
【Classic 150 刷题计划】 LeetCode 26. 删除有序数组中的重复项 | C++ 快慢双指针经典模板
c++·算法·leetcode
土司大王18 小时前
LeetCode hot100——74.搜索二维矩阵:Java 二分模板
java·算法·leetcode