0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

[力扣05]最长回文子串是什么

汽车电子技术 来源:C语言Plus 作者: Maye426 2023-02-27 14:34 次阅读

教程使用C++版本编写代码,如需其他版本,请自行修改,并在力扣网站中测试!

题目描述

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

示例1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例2:

输入:s = "cbbd"
输出:"bb"

提示:

  • 1 <= s.length <= 1000
  • s 仅由数字和英文字母组成

C++题目源码:

class Solution {
public:
    string longestPalindrome(string s)
     {
         if(s.length()==0)
         {
             return "";
         }
         int size=s.length();
         int left=0;
         int right=0;
         int len=1;
         int maxPos=0;
         int maxLen=0;
         for(int i=0;i<size;i++)
         {
            left=i-1;
            right=i+1;
            //左边
            while(left>=0&&s[left]==s[i])
            {
                len++;
                left--;                
            }
            //右边
            while(right<size&&s[right]==s[i])
            {
               len++;
               right++;     
            }
            //左边和右边对称
            while(left>=0&&right<size&&s[left]==s[right])
            {
                len+=2;
                left--;
                right++;
            }
            if(len>maxLen)
            {
                maxLen=len;
                maxPos=left;
            }
            len=1;
         }
         return s.substr(maxPos+1,maxLen);
    }
};
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    22

    文章

    2114

    浏览量

    73932
  • 代码
    +关注

    关注

    30

    文章

    4841

    浏览量

    69196
  • 编写
    +关注

    关注

    0

    文章

    29

    浏览量

    8507
收藏 人收藏

    评论

    相关推荐

    bash脚本中检查字符的方法

    我们在写 bash 脚本的时候,假如有一个字符,我们想检查其中是否包含另一个字符,那这个时候需要怎样做呢?
    发表于 11-24 15:25 1655次阅读
    bash脚本中检查<b class='flag-5'>子</b>字符<b class='flag-5'>串</b>的方法

    数据结构:判断链表回文结构

    给定一个链表,判断该链表是否为回文结构。回文是指该字符正序逆序完全一致。如当输入链表 {1,2,3,2,1} 时,断定是回文结构,输出True。
    的头像 发表于 12-01 13:26 723次阅读
    数据结构:判断链表<b class='flag-5'>回文</b>结构

    C++刷题记之最长回文字符串,让我们从C++做题到放弃

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 11:40:15

    Labview之替换字符

    Labview之替换字符,很好的Labview资料,快来下载学习吧。
    发表于 04-19 10:43 0次下载

    C语言教程之回文素数

    C语言教程之回文素数,很好的C语言资料,快来学习吧。
    发表于 04-22 17:45 0次下载

    C语言教程之回文字符串

    C语言教程之回文字符串,很好的C语言资料,快来学习吧。
    发表于 04-25 15:49 0次下载

    特高压交流线路Y型复合绝缘静电场分布

    通过建立理想条件下特高压双回输电线路丫型复合绝缘的三维静电场有限元分析模型,计算了Y型绝缘和均压环表面电场分布。分析了长比例、V
    发表于 12-30 14:49 0次下载
    特高压交流线路Y型复合绝缘<b class='flag-5'>子</b><b class='flag-5'>串</b>静电场分布

    对于绝缘,它的电压分布规律是什么

    在使用绝缘测试仪系列产品对日常运行中的绝缘实际巡检、维护中,我们可以根据绝缘的电压分布规律及安装使用环境来决定检测绝缘
    的头像 发表于 03-30 21:48 1.4w次阅读

    教你7个Python判断字符是否包含的方法

    教你7个Python判断字符是否包含的方法
    的头像 发表于 08-17 10:52 5162次阅读
    教你7个Python判断字符<b class='flag-5'>串</b>是否包含<b class='flag-5'>子</b><b class='flag-5'>串</b>的方法

    word文档解密方法说明

    word文档解密方法,当我们求取最长回文时,常见的方法就是中心扩散法,即从字符中心出发,向两边对比,检查是否相等,若等于,则继续检查,并使当前字符中心对应的
    的头像 发表于 03-14 09:05 1758次阅读

    无重复字符的最长

    此教程使用C++版本编写代码,如需其他版本,请自行修改,并在网站中测试
    的头像 发表于 02-27 14:38 439次阅读

    Python如何解决无重复字符的最长问题

    这是一个关于字符的经典问题,给定一个字符,求出其中最长的不含有重复字符的。例如,给定字符
    的头像 发表于 03-03 14:34 1417次阅读

    如何用python判断字符是否为回文

    用两个变量left,right模仿指针(一个指向第一个字符,一个指向最后一个字符),每比对成功一次,left向右移动一位,right向左移动一位,如果left与right所指的元素不相等则退出,最后比较left与right的大小,如果left>right则说明是回文字符串
    的头像 发表于 03-08 11:04 1791次阅读

    Python 如何判断字符是否包含

    方法 使用 字符 对象的 find 方法,如果有找到,就可以返回指定子在字符中的出现位置,如果没有找到,就返回 -1 >> >
    的头像 发表于 11-02 10:55 558次阅读

    源电池-纽扣电池系列:CR系列锂猛式产品介绍

    深圳鸿合智远|源电池-纽扣电池系列:CR系列锂猛式产品介绍
    的头像 发表于 12-02 11:03 327次阅读
    <b class='flag-5'>力</b>源电池-纽扣电池系列:CR系列锂猛<b class='flag-5'>扣</b>式产品介绍