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

LeetCode--Longest Palindromic Substring

时间:2014-08-01 15:28:31      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   div   amp   log   

有一个比较容易出错的点:反转求最长公共子序列,这是错误的想法

 1 class Solution {
 2 public:
 3     string longestPalindrome(string s) {
 4         int n = s.length();
 5         int longestS = 0;
 6         int maxlen = 1;
 7         bool table[1000][1000] = {false};
 8         int i,j,len;
 9         for(i = 0 ; i < n ; ++i)
10         {
11             table[i][i] = true;
12         }
13         
14         for(i = 0 ; i < n-1; ++i)
15         {
16             if(s[i] == s[i+1])
17             {
18                 table[i][i+1] = true;
19                 longestS = i;
20                 maxlen = 2;
21             }
22         }
23         for(len = 3 ; len <= n ; ++len)
24         {
25             for(i = 0 ; i < n-len+1 ; ++i)
26             {
27                 j = i+len-1;
28                 if(s[i]==s[j] && table[i+1][j-1])
29                 {
30                     table[i][j] = true;
31                     longestS = i;
32                     maxlen = len;
33                 }
34             }
35         }
36         return s.substr(longestS,maxlen);
37     }
38 };

可以优化的,优化为O(1)的空间。就是考虑2*n-1个位置为中间点,然后开始求。

LeetCode--Longest Palindromic Substring,布布扣,bubuko.com

LeetCode--Longest Palindromic Substring

标签:style   blog   color   io   for   div   amp   log   

原文地址:http://www.cnblogs.com/cane/p/3884799.html

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