news 2026/6/10 15:36:09

LeetCode热题100--5. 最长回文子串--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--5. 最长回文子串--中等

题目

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

示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。

示例 2:
输入:s = “cbbd”
输出:“bb”

题解

classSolution{publicStringlongestPalindrome(Strings){if(s==null||s.length()<2){returns;}intstrLen=s.length();intmaxStart=0;//最长回文串的起点intmaxEnd=0;//最长回文串的终点intmaxLen=1;//最长回文串的长度boolean[][]dp=newboolean[strLen][strLen];for(intr=1;r<strLen;r++){for(intl=0;l<r;l++){if(s.charAt(l)==s.charAt(r)&&(r-l<=2||dp[l+1][r-1])){dp[l][r]=true;if(r-l+1>maxLen){maxLen=r-l+1;maxStart=l;maxEnd=r;}}}}returns.substring(maxStart,maxEnd+1);}}

解析

出自:中心扩散法和动态规划

classSolution{publicStringlongestPalindrome(Strings){// 如果字符串为空,或长度小于2(即0或1),直接返回原字符串(单个字符本身就是回文)if(s==null||s.length()<2){returns;}// 获取字符串的总长度intstrLen=s.length();// 记录最长回文子串的起始索引(包含)intmaxStart=0;// 记录最长回文子串的结束索引(包含)intmaxEnd=0;// 记录当前找到的最长回文子串的长度,初始为1(至少一个字符)intmaxLen=1;// 创建二维布尔数组 dp,dp[l][r] 表示子串 s[l...r] 是否为回文boolean[][]dp=newboolean[strLen][strLen];// 外层循环:遍历右边界 r,从1开始(因为长度为1的子串已是回文,无需处理)for(intr=1;r<strLen;r++){// 内层循环:遍历左边界 l,从0到r-1for(intl=0;l<r;l++){// 判断 s[l] 和 s[r] 是否相等,并且:// - 如果子串长度 <= 3(即 r - l <= 2,如 "aa" 或 "aba"),只要两端相等就是回文;// - 或者更长的子串,需依赖内部子串 s[l+1...r-1] 是否为回文(即 dp[l+1][r-1] 为 true)if(s.charAt(l)==s.charAt(r)&&(r-l<=2||dp[l+1][r-1])){// 标记 s[l...r] 为回文dp[l][r]=true;// 如果当前回文子串长度大于已记录的最大长度,则更新最大长度和起止位置if(r-l+1>maxLen){maxLen=r-l+1;// 更新最大长度maxStart=l;// 更新起始索引maxEnd=r;// 更新结束索引}}// 注意:如果 s[l] != s[r],dp[l][r] 默认为 false(无需显式赋值)}}// 使用 substring 提取最长回文子串(注意:substring 的 end 是 exclusive,所以 +1)returns.substring(maxStart,maxEnd+1);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:02:05

DeepSeek+Ollama+AnythingLLM搭建本地知识库,打造你的私人AI管家(建议收藏)

本文详细介绍了使用DeepSeek、Ollama和AnythingLLM搭建本地知识库的全过程&#xff0c;包括软件安装、模型配置、文档上传和智能问答功能。教程特别强调了本地部署对隐私保护的优势&#xff0c;并提供了文档类型准备和嵌入模型配置等实用建议&#xff0c;帮助用户打造专属AI助理…

作者头像 李华
网站建设 2026/6/10 13:32:57

mysql之字符串函数

假设我们有一个字符串 Hello, World! 作为示例&#xff0c;我们会展示对这个字符串应用每个函数后的结果。 CONCAT(str1, str2, …) 将多个字符串值连接成一个字符串。 SELECT CONCAT(Hello, , World!); -- 结果: Hello, World!LENGTH(str) 返回字符串的长度&#xff08;字节数…

作者头像 李华
网站建设 2026/5/8 10:51:07

【毕业设计】基于深度学习python-CNN卷积神经网络对土豆疾病识别基于python-CNN卷积神经网络对土豆疾病识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/10 14:52:46

LUT 调色预设 + HDR 环境贴图超全合集分享(影视 / CG / 三维渲染适用)

在三维动画、影视特效、建筑可视化和产品渲染等制作流程中&#xff0c;画面质感的核心往往来自两个方面&#xff1a;一是调色风格是否统一&#xff0c;二是环境光是否真实自然。本文整理并分享一套 LUT 调色预设 HDR 环境贴图超全合集&#xff0c;覆盖影视级调色与高质量环境光…

作者头像 李华
网站建设 2026/6/5 12:18:01

押注RGB和AI,彩电巨头决战2026 | CES洞察

“色彩革命”由中国家电们开始文&#xff5c;郭梦仪“物理AI的ChatGPT时刻即将到来。”英伟达创始人黄仁勋的开幕演讲&#xff0c;给今年的世界电子消费展定下了宏大的基调。这句话似乎正是今年的CES的主旋律。从这届全球消费电子产业的“技术晴雨表”&#xff0c;我们感知到&a…

作者头像 李华