LeetCode——Longest Palindromic Substring
来源:互联网 发布:打电话自动录音软件 编辑:程序博客网 时间:2024/05/22 13:21
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
给定一个字符串S,找出其中的最长回文字符子串。
1.枚举所有子串,并判断是否是回文串同时记录最大长度。超时。
//找出所有子串,并判断是否是回文串,每次记录长度public static String longestPalindrome1(String s) {String ret = "";int maxlen = 0;for(int i=0;i<s.length();i++){for(int j=i+1;j<s.length();j++){String temp = s.substring(i,j+1);int len = j - i;if(isPalindrome(temp)){if(len > maxlen){ret = temp;maxlen = len;}}}}return ret;}public static boolean isPalindrome(String s){for(int i=0;i<s.length();i++){if(s.charAt(i) != s.charAt(s.length() - i - 1))return false;}return true;}
2.由某个中心向两侧扩展寻找,找到可以扩展的最大长度。
public static String longestPalindrome(String s) {if (s.length() <= 1) return s;String longest = s.substring(0, 1);for (int i = 0; i < s.length(); i++) {String tmp = helper(s, i, i);if (tmp.length() > longest.length()) {longest = tmp;}tmp = helper(s, i, i + 1);if (tmp.length() > longest.length()) {longest = tmp;}}return longest;}public static String helper(String s, int begin, int end) {while (begin >= 0 && end <= s.length() - 1 && s.charAt(begin) == s.charAt(end)) {begin--;end++;}return s.substring(begin + 1, end);}
0 0
- leetCode—Longest Palindromic Substring
- leetcode—Longest Palindromic Substring
- LeetCode——Longest Palindromic Substring
- leetcode——Longest Palindromic Substring
- leetcode 005 —— Longest Palindromic Substring
- LeetCode——Longest Palindromic Substring
- LeetCode题解——Longest Palindromic Substring
- LeetCode——5. Longest Palindromic Substring
- Leetcode——5. Longest Palindromic Substring
- leetcode 5—— Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- 数据结构之--冒泡排序的三种实现
- PHP计划任务的一种实现方法
- linux 解决终端乱码
- Android Camera 拍照 三星BUG总结
- 强大的http调试工具charles用法详解
- LeetCode——Longest Palindromic Substring
- 斐波那契数列 dp
- java中对象的复制与相等判断
- [转载]树的先序遍历,中序遍历,后序遍历的非递归写法
- ACdream群赛15 I 字典树
- 4.0版本之后创建SessionFactory 方法有所改变
- Web开发人员需知的Web缓存知识
- crm快速开发之Entity
- C++事件和互斥使用的小心得