当前位置: 首页 > news >正文

LeetCode讲解篇之5. 最长回文子串

文章目录

  • 题目描述
  • 题解思路
  • 题解代码

题目描述

题目链接
在这里插入图片描述

题解思路

从中心点先寻找和中心点相等的左右端点,在基于左右端点进行往外扩散,直至左右端点不相等或者越界,然后左右端点这个范围内就是我们找寻的回文串,我们遍历中心点,就能执行上述流程就能查询所有的回文串,我们只需要取其中的最长的回文子串即可

题解代码

func longestPalindrome(s string) string {n := len(s)// 结果ans := ""// 遍历中心节点for i := 0; i < n; i++ {// 找寻不等于中心节点的左右端点l, r := i, ifor l > 0 && s[l - 1] == s[i] {l--}for r < n - 1 && s[r + 1] == s[i] {r++}// 左右边界进行扩散,直至左右端点不相等或者越界offset := 1for l - offset >= 0 && r + offset < n && s[l - offset] == s[r + offset] {offset++}// 刷新最长回文子串tmp := s[l - offset + 1:r + offset]if len(tmp) > len(ans) {ans = tmp}// 减枝,减少重复回文子串的计算i = r}return ans
}

http://www.mrgr.cn/news/38200.html

相关文章:

  • 笔试练习day6
  • Mysql优化(常见优化)
  • 基于Java的停车场管理微信小程序 停车场预约系统【源码+文档+讲解】
  • [大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器
  • <<迷雾>> 第 2 章 用电来表示数 示例电路
  • 深度学习与数学归纳法
  • springboot+vue+java校园共享厨房菜谱系统
  • feign的全局拦截器和局部拦截器
  • 为啥我关不掉页面?Chrome扩展开发中的那些坑
  • LLM大模型学习:致AI新手掌握这些经验,助你少走三年弯路!
  • 纠删码参数自适应匹配问题ECP-AMP实验方案(一)
  • Java实现找色和找图功能
  • 股票实时行情接口,私募量化软件的交易核心是什么
  • 代码为笔,合作作墨,共绘共赢画卷———未来之窗行业应用跨平台架构
  • 笔记本维修与拆解(一)
  • 『网络游戏』GoLand服务器框架【01】
  • 相机、镜头参数详解以及相关计算公式
  • SigLIP技术小结
  • 安全点的应用场景及其原理详解
  • 2条件欧几里得聚类