码迷,mamicode.com
首页 > 其他好文 > 详细

Longest Palindromic Substring

时间:2015-04-13 18:24:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

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.

题目描述很简单,就是寻找一个字符串的最大回文。

1.暴力搜索

 穷举所有的可能,算法复杂度是O(n^3);

2.dp求解

  http://articles.leetcode.com/2011/11/longest-palindromic-substring-part-i.html

3.对称

这里考虑到每个回文单词都是对称的,所以这里可以使用对称的思想进行解答。分别遍历以每个字母为中心的回文字符的最大长度,算法复杂度为O(n ^ 2);空间复杂度是

O(1);

 1 class Solution {
 2 public:
 3     string expand(string&s, int l, int h)
 4     {
 5         while((l >= 0) && (h < s.size()) && (s[l] == s[h]))
 6         {
 7             l--; h++;
 8         }
 9         
10         return s.substr(l+1, h-1-l);
11     }
12     
13     string longestPalindrome(string s) {
14         string res = s.substr(0,1);
15         
16         for(int i = 0; i < s.size(); i++)
17         {
18             string p;
19             p = expand(s, i, i);
20             
21             if(p.size() > res.size())
22                 res = p;
23             p = expand(s, i, i+1);
24             
25             if(p.size() > res.size())
26                 res = p;
27         }
28         
29         return res;
30     }
31 };

 

4。Manacher’s Algorithm

http://www.felix021.com/blog/read.php?2040

http://articles.leetcode.com/2011/11/longest-palindromic-substring-part-ii.html

Longest Palindromic Substring

标签:

原文地址:http://www.cnblogs.com/qtalker/p/4422452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!