首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode No.5 最长回文子串

Leetcode No.5 最长回文子串

作者头像
week
发布2020-08-04 10:08:42
2250
发布2020-08-04 10:08:42
举报
文章被收录于专栏:用户画像用户画像用户画像

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:

输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2:

输入: "cbbd" 输出: "bb"

方法一:暴力匹配 (Brute Force)

根据回文子串的定义,枚举所有长度大于等于 22 的子串,依次判断它们是否是回文; 在具体实现时,可以只针对大于“当前得到的最长回文子串长度”的子串进行“回文验证”; 在记录最长回文子串的时候,可以只记录“当前子串的起始位置”和“子串长度”,不必做截取。这一步我们放在后面的方法中实现。 说明:暴力解法时间复杂度高,但是思路清晰、编写简单。由于编写正确性的可能性很大,可以使用暴力匹配算法检验我们编写的其它算法是否正确。优化的解法在很多时候,是基于“暴力解法”,以空间换时间得到的,因此思考清楚暴力解法,分析其缺点,很多时候能为我们打开思路。

package longest_palindrome;

public class Solution {
    public boolean isPalindrome(char[] charArray, int left, int right){
        while(left<right){
            if(charArray[left]!=charArray[right]){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
    public String longestPalindrome(String s) {
        int len=s.length();
        if(len<2){
            return s;
        }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一:暴力匹配 (Brute Force)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档