寻找最长回文子串(Palindromic Substring)的一种简单的Java解法
来源:互联网 发布:mac新建文本文档 编辑:程序博客网 时间:2024/04/28 19:57
回文字符串,指的是形式如同"abcba"或是"abccba“形式的字符串。
那么如何在一串给定的字符串中寻找其中最长的回文子串呢?
可以用延伸的思想来寻找,即先找最短的字符串如"a"、"bb"等,在这些字符串基础上进行延伸扩展,若是找到的符合要求的子串长度大于已找到的回文子串的最大长度,则取而代之,同时记录该子串的第一个字符的下标。
通过这种思想将字符串遍历执行即可找到最大回文子串。
public class PalindromicSubstring { private int start,maxLength; public String longestPalindrome(String s) { if(s.length()<2) return s; for(int i=0;i<s.length()-1;i++){ extendPali(s,i,i); extendPali(s,i,i+1); } return s.substring(start,start+maxLength); } public void extendPali(String s,int i,int j){ while(i>=0&&j<s.length()&&s.charAt(i)==s.charAt(j)){ i--; j++; } if(maxLength<j-i-1){ start=i+1; maxLength=j-i-1; } }}
阅读全文
0 0
- 寻找最长回文子串(Palindromic Substring)的一种简单的Java解法
- [Leetcode #5]Longest Palindromic Substring 寻找最长回文子串
- leetcode-5. Longest Palindromic Substring(寻找最长回文子串)
- 最长连续回文串(Longest Palindromic Substring) 的 O(n)解法
- 【LeetCode】005 Longest Palindromic Substring 最长的回文子字符串
- Longest Palindromic Substring 最长回文子串
- Longest Palindromic Substring-----最长回文子串
- longest palindromic substring(最长回文子串)
- 最长回文子串 Longest Palindromic Substring
- Longest Palindromic Substring 最长回文子串
- 最长回文子串(Longest Palindromic Substring)
- Longest Palindromic Substring 最长回文子串
- 最长回文子串 Longest Palindromic Substring
- Longest Palindromic Substring 最长回文子串
- Longest Palindromic Substring 最长回文子串
- Leetcode#5. Longest Palindromic Substring(最长回文子串:二种解法)
- 最长回文子序列的java解法
- leetcode 5. Longest Palindromic Substring 最长回文子串的查找 + 按照length做DP
- linux 下用tomcat部署web項目 上傳圖片访问404问题
- 工作3年的程序员应该具备什么技能
- Windows7 如何发布Qt可执行程序
- Lintcode77 Longest Common Subsequence solution 题解
- ELK学习9_ELK数据流传输过程_问题总结2
- 寻找最长回文子串(Palindromic Substring)的一种简单的Java解法
- Packet for query is too large (mysql)
- 微信中控网页授权的实现
- 写高质量OC代码52建议总结:36.不要使用retainCount
- Android编译时遇到的问题
- errcode: 41028, errmsg: "invalid form id hint: [60kWOa0285ge25
- <iOS开发>之CocoaAsyncSocket使用
- ECMAScript2018语言规范
- 20170627在东软