news 2026/7/11 7:23:33

【剑斩OFFER】算法的暴力美学——最长回文子串

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——最长回文子串


一、题目描述

二、算法原理

思路:中心扩展算法

我们要遍历字符串,然后固定当前字符串中遍历的字符,例如上图,每次遍历一个字符,那么先让定义两个指针指向当前字符,if : s【 left 】 == s 【 right 】 ,则:left--,right++; if:s[ left ] != s[ right ] ,跟新最长回文字符串:s.substr( left + 1,right - left - 1),然后不断的重复上面的步骤,就是,都是上图是奇数回文(最长的回文的长度是奇数),当遇到偶数回文时就不行:

最终构造出来的回文字符串:b,不符合题目要求,所以我们要遍历两次,第一次是奇数回文遍历,第二次是偶数回文遍历,总结也就是完成上面的遍历之后,不要急于固定下一个字符,我们要让:left = i,right = i + 1,判断条件跟上面的一样:

此时构造出来的字符串就是我们要的答案:bb

三、代码实现

class Solution { public: string longestPalindrome(string s) { string same;//最长回文 int count = 2;//第一次奇数回文判断,第二次偶数 for(int i = 0; i < s.size(); i++) { int left = i,right = i;//第一次从同一个下标开始 while(count >= 1) { if(left >= 0 && right < s.size() && s[left] == s[right]) { //两边扩散 left--; right++; } else { //奇数或者偶数回文查找结束,更新 same 值 if(same.size() < (right - left -1)) same = s.substr(left + 1,right - left - 1); //偶数回文判断 left = i; right = i + 1; count--; } } count = 2;//为下一次做准备 } return same; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 8:48:10

Python金融数据接口库:从安装到实战的完整指南

Python金融数据接口库&#xff1a;从安装到实战的完整指南 【免费下载链接】akshare 项目地址: https://gitcode.com/gh_mirrors/aks/akshare AKShare作为Python生态中备受关注的金融数据接口库&#xff0c;为量化交易者、金融分析师和研究人员提供了便捷的数据获取通道…

作者头像 李华
网站建设 2026/7/1 9:55:02

3天掌握ITK-SNAP医学图像分割的实战秘籍

3天掌握ITK-SNAP医学图像分割的实战秘籍 【免费下载链接】itksnap ITK-SNAP medical image segmentation tool 项目地址: https://gitcode.com/gh_mirrors/it/itksnap 还在为复杂的医学图像分割而头疼吗&#xff1f;ITK-SNAP这款专业工具能够帮你快速搞定3D医学图像分析…

作者头像 李华
网站建设 2026/7/5 8:34:37

3步搞定OFD转PDF:小白也能轻松上手的完整指南

3步搞定OFD转PDF&#xff1a;小白也能轻松上手的完整指南 【免费下载链接】Ofd2Pdf Convert OFD files to PDF files. 项目地址: https://gitcode.com/gh_mirrors/ofd/Ofd2Pdf OFD转PDF是很多办公人员经常遇到的需求&#xff0c;Ofd2Pdf作为一款专业的文档格式转换工具&…

作者头像 李华
网站建设 2026/7/1 9:56:33

QModMaster:五分钟掌握工业自动化通信核心技术

QModMaster&#xff1a;五分钟掌握工业自动化通信核心技术 【免费下载链接】qModbusMaster 项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster 在工业自动化快速发展的今天&#xff0c;稳定可靠的设备通信已成为系统运行的生命线。QModMaster作为一款基于Qt框…

作者头像 李华
网站建设 2026/7/9 4:51:47

突破限制!掌握窗口尺寸调整的终极方案

突破限制&#xff01;掌握窗口尺寸调整的终极方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为无法自由调整的软件窗口而困扰吗&#xff1f;面对高分辨率显示器上的显示问…

作者头像 李华