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

【Leetcode】Longest Palindromic Substring

时间:2014-10-07 00:32:12      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   sp   div   art   

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 class Solution {
 2 public:
 3     string longestPalindrome(string s) {
 4         int n = s.size();
 5         int start = 0, step = 0, max_len = 0;
 6         for (int k = 0; k < n; ++k) {
 7             step = 0;
 8             while (k - step - 1 >= 0 && k + step + 1 < n && s[k - step - 1] == s[k + step + 1]) {
 9                 ++step;
10             }
11             if (2 * step + 1> max_len) {
12                 max_len = 2 * step + 1;
13                 start = k - step;
14             }
15             step = 0;
16             while (k + step + 1 < n && k - step >= 0 && s[k + step + 1] == s[k - step]) {
17                 ++step;
18             }
19             if (2 * step > max_len) {
20                 max_len = 2 * step;
21                 start = k - step + 1;
22             }
23         }
24         return s.substr(start, max_len);
25     }
26 };

 

【Leetcode】Longest Palindromic Substring

标签:style   blog   color   io   ar   for   sp   div   art   

原文地址:http://www.cnblogs.com/dengeven/p/4008819.html

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