news 2026/4/18 14:36:36

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/4/18 5:34:44

深度学习毕设项目:通过python_CNN卷积神经网络对鸡蛋是否破损识别

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

作者头像 李华
网站建设 2026/4/18 8:54:55

NSSCTF2026年1月8日每日一练之[第五空间 2021]WebFTP

开启环境&#xff0c;进入页面得到先进行目录扫描 python dirsearch.py -u http://node4.anna.nssctf.cn:26891/扫描得到看到phpinfo.php&#xff0c;猜测可能存在php版本等相关敏感信息&#xff0c;访问一下搜索ctf或者flag&#xff0c;可以得到最终结果得到最终结果 NSSCTF{b…

作者头像 李华
网站建设 2026/4/18 8:54:40

LangGraph1.0实战:构建自动邮件处理智能体,大模型应用开发指南

本文详细介绍了如何使用LangGraph1.0构建自动邮件处理智能体&#xff0c;展示了状态管理、节点、边、条件路由和中断机制等核心技术的实战应用。通过定义智能体状态、编写节点函数、构建智能体图和测试验证&#xff0c;实现了一个能够自动分类邮件、处理Bug报告、搜索知识库生成…

作者头像 李华
网站建设 2026/4/18 11:57:05

NAT技术:互联网连接的隐形桥梁

目录 一、NAT 技术&#xff1a;从地址短缺到连接复用 1、背景&#xff1a;IPv4 地址枯竭与私有地址的诞生 2、基本 NAT&#xff08;Basic NAT&#xff09;&#xff1a;一对一地址转换 工作原理&#xff1a; 示例&#xff1a; 局限性&#xff1a; 3、NAPT&#xff08;Net…

作者头像 李华
网站建设 2026/4/18 11:05:41

【毕业设计】基于深度学习python卷积网络对甘蔗叶子病识别

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

作者头像 李华