class Solution {public String longestPalindrome(String s) {if (s == null) return null;char[] cs = s.toCharArray();if (cs.length <= 1) return s;// 最长回文子串的长度(至少是1)int maxLen = 1;// 最长回文子串的开始索引int begin = 0;int i = 0;while (i < cs.length) {int l = i - 1;// 找到右边第一个不等于cs[i]的位置int r = i;while (++r < cs.length && cs[r] == cs[i]);// r会成为新的ii = r;// 从l向左,从r向右扩展while (l >= 0 && r < cs.length && cs[l] == cs[r]) {l--;r++;}// 扩展结束后,cs[l + 1, r)   cs(l, r)就是刚才找到的最大回文子串// ++l后,l就是刚才找到的最大回文子串的开始索引int len = r - ++l;if (len > maxLen) {maxLen = len;begin = l;}}return new String(cs, begin, maxLen);}
}

5. 最长回文子串——基于扩展中心法的优化相关推荐

  1. leetcode 5-最长回文子串(中心扩展算法)

    题目描述 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 示例1 输入: "babad" 输出: "bab" ...

  2. 5. 最长回文子串——暴力法---动态规划解法---扩展中心法

    暴力法 动态规划解法 class Solution {public String longestPalindrome(String s) {if (s == null) return null;cha ...

  3. leetcode 5. 最长回文子串 暴力法、中心扩展算法、动态规划,马拉车算法(Manacher Algorithm)

    给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1: 输入: "babad" 输出: "bab" 注意: &quo ...

  4. 20200118:(leetcode)最长回文子串(中心扩展算法详解及思考)

    最长回文子串(中心扩展算法详解及思考) 题目 中心扩展算法详解 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: " ...

  5. LeetCode:Longest Palindromic Substring 最长回文子串

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  6. python求回文_python实现求最长回文子串长度

    给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回4. 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返回最长的回文子 ...

  7. 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...

    最长回文子串 题目描述 给定一个字符串,求它的最长回文子串的长度. 分析与解法 最容易想到的办法是枚举所有的子串,分别判断其是否为回文.这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包 ...

  8. leetcode 5 :Longest Palindromic Substring 找出最长回文子串

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

  9. python【力扣LeetCode算法题库】5- 最长回文子串

    5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab&quo ...

最新文章

  1. protobuf生成
  2. Cryptohack-RSA writeups
  3. python中f点flush是什么函数_Python文件操作及内置函数flush原理解析
  4. 用万字长文聊一聊 Embedding 技术
  5. 团队任务3:每日立会(2018-10-25)
  6. [react] react中调用setState会更新的生命周期有哪几个?
  7. apmserver导入MySQL_mysql数据库导入导出
  8. ApiPost V5 升级指南
  9. VSFTP的PASSIVE模式的防火墙设置
  10. 令人困惑的strtotime
  11. wps解密excel表格xlsx文件,excel表格xlsx权限密码多少?
  12. 如何利用insightface同时计算多个人脸相似度
  13. aurora协议学习之时钟补偿
  14. TestNG 参数化测试
  15. Python|泰坦尼克号幸存者画像
  16. 虚拟滚动实现(Vue)
  17. 不论微信钉钉还是什么软件,我写了个通用的消息监控处理机器人
  18. 消毒机器人市场前景分析
  19. 史上最全互联网运维工作规划!
  20. 移动开发需要了解的UI设计知识

热门文章

  1. 错误传播 --try{}catch(e){console.log(e)}
  2. Go 采用 time.After 实现超时控制
  3. [源码和文档分享]基于FFMEPEG-MATLAB和C#-SQL SERVER构建的手机录音数据库及特征分析...
  4. #41 最短路(分治+线性基)
  5. Codeforces 1027F. Session in BSU
  6. 使用 vue.js 的一些操作记录
  7. JS实现一行内多列DIV同高
  8. 铝聚合物电池工作温度及低温电量差异的说明
  9. 无法连接到已配置的开发web服务器_你知道多少种服务器?这三种服务器你都认识吗?...
  10. java并发编程系列-内存模型基础